JAVA
원시값, 문자열 포장
gajy
2021. 5. 25. 22:18
728x90
원시값과 문자열을 포장한다는 것의 포인트는 immutable하게 만든다는 것이다.
추가적으로, 역할들을 나눠가지게 되기 때문에 TDD하기 쉬워진다.
1. immutable 한 객체를 return 하는 방법
package game.core;
public class Position {
private final int postion;
public Position() {
this(3);
}
public Position(int postion) {
this.postion = postion;
}
public Position move() {
return new Position(postion + 1); //immutable한 객체를 return 한다.
}
}
2. 하지만 이와같이 하면 새로운 인스턴스를 생성하므로 성능이 떨어질 수 있다고 생각되면 아래와 같이 mutable하게도 가능하다.
하지만 인스턴스가 많이 생성되는 경우가 아니라면 위와 같이 immmutable하게 생성하는 것을 고려해보자.
package game.core;
public class Position {
private int postion;
public Position() {
this(3);
}
public Position(int postion) {
this.postion = postion;
}
public Position move() {
this.postion ++;
return this; //mutable한 객체를 return 한다.
}
}
728x90