강의

멘토링

커뮤니티

Inflearn Community Q&A

jindbe2591's profile image
jindbe2591

asked

Real-world! Spring Boot and JPA Utilization 1 - Web Application Development

Considerations for Entity Design

Order에서 연관관계 메서드 작성 시

Written on

·

282

1

안녕하세요.

좋은 강의 항상 감사드립니다.

프로젝트 연습해보다가 질문이 생겨 이렇게 질문 남깁니다.

 

Order 객체에서 setMember()를 호출할 때에, member에 있는 orders라는 list에도 추가하도록 연관관계 메서드를 만들어주셨습니다.

거의 매 강의마다 setter는 웬만해서 추가하지 말고 메서드 이름에 역할을 고정하여 메서드를 추가적으로 만들라고 하셨는데, setMember 구현을 보면 setter 없이 getter로 member의 private 변수인 list를 변경합니다. 

이건 list가 아니더라도 reference 타입 모두에게 적용될 것 같아보이는데, 실무에서는 이렇게 함부로 바뀔 수 있는 mutable list에 대해 수정 제한을 어떻게 하는 편인가요?

 

감사합니다.

javaJPAspring웹앱spring-boot

Answer 1

1

yh님의 프로필 이미지
yh
Instructor

안녕하세요. t님

지금처럼 이미 한곳에서 사용해야 하는 경우에는 자바 언어에서 특별하게 막기가 쉽지 않습니다.

setter도 지금처럼 필요한 경우에 한정해서는 사용해야 합니다.

참고로 컬렉션의 경우 진짜 막아야 하는 경우에는 자바 언어에서 Collections.unmodifiableList()를 제공합니다.

감사합니다.

jindbe2591's profile image
jindbe2591

asked

Ask a question