원시값 포장

    [JAVA] VO(Value Object) 란 무엇인가 ?

    들어가며 VO란 값 객체로만 알고 있었다. 값을 가진 무언가? 라는 개념으로 이해했는데 이에 대해 조금 더 자세히 알고 싶어서 정리해보게 되었다. VO란 ? VO란 값을 가지는 객체. 즉 값 자체로 의미를 갖는 객체이다. 속성 값이 모두 같으면 객체이다. 불변이다. VO를 사용하는 이유 원시값 타입이 도메인 객체를 모델링 하기에 충분하지 않기에 사용한다. 도메인에서 의미있는 값으로 VO를 묶어서 사용해야 한다. 여기서 든 의문은 원시값 포장과 다른점이 뭐지? 라는 것이였다. VO 의 필수조건은 먼저 equals & hashCode 메서드를 재정의 수정할 수 없는 불변 이다. 그러므로 변수를 수정하는 로직이 있다면 이는 VO가 아니다. 원시 타입의 기능을 사용하지 않기에 VO를 사용한다. private f..

    [JAVA] 원시값 포장

    들어가며 저번 미션부터 원시값 포장에 대한 요구사항들이 많았다. 원시값 포장은 무엇인지에 대해 정리를 해보려고한다. 처음에는 원시값 포장 ? String , int값을 포장한다는 것인가 ? 왜 하지 ? 라는 생각이 많이 들었지만 확실히 원시값 포장을 하는게 더 좋다고 생각이 들었다. 원시값 포장 원시 타입의 변수를 객체로 포장한 것이다. private final String name; public Name(String name) { this.name = name; } public String getName() { return this.name; } 이번 사다리 타기 미션인데 name이라는 단순 문자열을 Name로 포장, 감싸주었다. 이렇게 감싸 주었기 때문에 name을 모아놓는 List또한 변경이 되었다..