- 불변 밸류 타입을 사용하면 set 메서드를 구현하지 않는다.
- set 메서드를 제공하면 데이터가 변경될 수 있음.
DTO의 get/set 메서드
- DTO는 Data Transfer Object의 약자로 프레젠테이션 계층과 도메인 계층이 데이터를 서로 주고받을 때 사용하는 일종의 구조체이다.
- DTO가 도메인 로직을 담고 있지는 않기에 get/set 메서드를 제공해도 도메인 객체의 데이터 일관성에 영향을 줄 가능성이 높지 않다.
- 요즘 개발 프레임워크나 개발 도구는 set 메서드가 아닌 private 필드에 직접 값을 할당할 수 있는 기능을 제공하고 있어 set 메서드가 없어도 프레임워크를 이용해서 데이터를 전달받을 수 있다.
- DTO도 불변 객체로 두어 불변의 장점을 DTO까지 확장할 수 있다.
- 메시지 컨버터