예시
<aside> 🪣
package address;
public class ImmutableObj {
private final int value;
public ImmutableObj(int value) {
this.value = value;
}
public ImmutableObj add(int addValue) {
int result = value+addValue;
return new ImmutableObj(result);
}
public int getValue() {
return value;
}
}
값 변경 시 아예 새로운 객체를 생성함
--------------------------------
package address;
public class ImmutableMain1 {
public static void main(String[] args) {
ImmutableObj obj1 = new ImmutableObj(10);
ImmutableObj obj2 = obj1.add(20);
System.out.println(obj1.getValue());
System.out.println(obj2.getValue());
}
}
출력
10
30
</aside>
