티스토리 뷰
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
'JAVA' 카테고리의 다른 글
String.valueOf() vs. Object.toString() (0) | 2022.04.02 |
---|---|
정규식 (0) | 2022.04.02 |
Clean Code 정리 링크 (0) | 2021.05.25 |
private static final에 대해서 (0) | 2021.05.25 |
시그니처를 유지하면서 리팩토링하는 방법 (0) | 2021.05.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크