강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

덩더러러쿨님의 프로필 이미지
덩더러러쿨

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

엔티티 클래스 개발2

Address 타입에 대해 질문

해결된 질문

작성

·

182

0

본 강의 15:00에서 Address 클래스에 Getter는 열고 Setter는 막아  값 타입의 변경을 불가능하게 만든다고 하셨는데,

Delivery 클래스에 필드로 사용될 때는 배송지 주소 값이 중간에 바껴지면 안되니까 이해가 되는데,
Member 클래스에서 이용될 때는 '회원 정보수정' 할 때는 3개의 파라미터를 받는 생성자를 통해서 변경하면 되다는 말씀인가요?

그리고 회원 정보에서 주소가 바뀌어 지더라도, 기존 또는 과거 배송 정보의 주소에는 영향이 안가나요?

답변 2

1

지금 상태의 설계대로라면 수정 시 새로운 Address 객체를 사용하니까 주소가 변경되어도 다른 곳에는 영향이 안가는 거였군요

빠른 답변 감사합니다!

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 덩더러러쿨님

Member 클래스에서 Address를 사용하려면 완전히 새로운 Address 객체를 만들어서 통으로 변경해주시면 됩니다.

(지금처럼 값 객체를 사용하려면요)

만약 각각 수정하도록 만들고 싶으면, Address대신에 필드를 각각 Member에 넣어서 관리하시면 됩니다.

그리고 Address를 이뮤터블하게 설계하셨으면 회원 정보에서 주소가 변경되어도 다른 곳에는 영향을 주지 않습니다.

감사합니다.

덩더러러쿨님의 프로필 이미지
덩더러러쿨

작성한 질문수

질문하기