イミュータブルは英語でImmutableと書きます。これを和訳すると「不変の」という意味になります。つまり、イミュータブルなクラスとは、不変なクラスのことです。
不変なクラスとはどういう意味かというと、「自身の値を書き換えないクラス」ということです。
イミュータブルなクラスは、オブジェクト自身の値を書き換えずに、処理の結果を別のオブジェクトに代入します。
Java
String str = "abcde";
String str2 = str.toUpperCase();
System.out.println("str:" + str);
System.out.println("str2:" + str2);
実行結果
str:abcde
str2:ABCDE
イミュータブルなクラスを作成するには以下の条件を満たす必要があります。
Java
public final class SampleImmutable {
//フィールド
private final String str;
private final int num;
//コンストラクタ
public SampleImmutable(String str, int num){
this.str = str;
this.num = num;
}
//フィールド「str」に「です。」を付与して返すメソッド。
public String StrDesu(){
return str + "です。";
}
//フィールド「num」を2倍にして返すメソッド。
public int Twice(){
return num * 2;
}
}
Java
StringBuffer sbf = new StringBuffer("abc");
System.out.println("append前:" + sbf);
sbf.append("def");
System.out.println("append後:" + sbf);
実行結果
append前:abc
append後:abcdef
以上で記事の解説はお終い!
もっとJavaやSpringを勉強したい方にはUdemyがオススメ!同僚に差をつけよう!