java8 不変クラスについて

戻る
公開日:2021/1/17

不変クラスとは、一度設定された状態(フィールド値)を変更できないように設計されたクラス。
状態が変更できるクラスは可変クラス。

代表的な不変クラス
・java.lang.String
・java.lang.Integerなどのプリミティブ型ラッパー・クラス
・java.math.BigDecimal

// 継承されないようにfinalにする
final public class ImmutableClassTest {

	// 外部からアクセスされないようにprivate
	// 設定された値を変更できないようにfinal
	private final int hensu;
	
	public ImmutableClassTest(int hensu) {
		this.hensu = hensu;
	}
	
	// ゲッターのみで、セッターは指定しない
	public int getHensu() {
		return hensu;
	}
	
	// もしもオブジェクトを変更したいときは新しいインスタンスを生成する
	public ImmutableClassTest add(int hensu ) {
		return new ImmutableClassTest(this.hensu + hensu);
	}
}
戻る