티스토리 뷰

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

'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
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30