엔티티 클래스 설계


https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8792ec46-1a41-4a5c-8d54-a97075248b8b/_2020-06-24__8.11.32.png

위 회원 엔티티 관계도를 보고 VO 생성 코드를 만들어 본다.

참고: 이론적으로 Getter, Setter를 모두 제공하지 않고, 꼭 필요한 별도의 메서드를 제공하는게 가장 이상적이다.

하지만 실무에서 엔티티의 데이터는 조회할 일이 너무 많으므로, Getter의 경우 모두 열어두는 것이 편리하다. 하지만, Setter를 호출하면 데이터가 변하기 때문에 Setter를 막 열어두면 엔티티가 어떻게 어디서 왜 바뀌는지 추적하기가 힘들어진다.

그렇기 때문에 엔티티를 변경할때는 Setter 대신 변경 지점이 명확하도록 변경을 위한 비즈니스 메서드를 별도로 제공해야 한다.