inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 ORM 표준 JPA 프로그래밍 - 기본편

값 타입과 불변 객체

setter 관련 질문

314

2v2

작성한 질문수 9

1

항상 강의 잘 듣고 있습니다

다름이아니라 강의 흐름을 보면 member2.setHomeAddress에서 member2.setHomeAddress(copyAddress)가 아니라

member2.setHomeAddress(address)로 할 경우 이를 막을 방법이 없다가 객체 타입의 한계라고 말씀해주셨는데요

이를 해결하기 위해 불변 객체 말씀을 해주셨는데 불변 객체 예시로 들어주신 것은 Address 라는 값타입의 setter를 없애는 것이었는데요 

Address의 setter를 없애도 똑같이 member2.setHomeAddress(copyAddress)가 아니라

member2.setHomeAddress(address)로 할 경우 참조가 공유되는 문제는 해결 못하지 않나요 ?

JPA java

답변 1

1

David

안녕하세요. 2v2님, 공식 서포터즈 David입니다.

불변객체와 setter를 설명하실 때는 member의 Address 필드 상태를 변경하는 setter가 아니라 Address의 String city 필드 상태를 변경하는 setter에 대해 말하고 있습니다.

흐름상 헷갈릴 수 있으니 위 내용을 인지한 후 다시 강의를 들어보시면 좋을 것 같습니다.

감사합니다.

0

2v2

답변 감사드립니다

말씀은 이해했습니다. 그럼 Address의 setter 문제가 아니라 확장해서 member에서 객체 타입의 문제( member2.setHomeAddress(copyAddress)가 아니라 member2.setHomeAddress(address)를 호출했을 때 막지 못하는 문제) 해결하기 위해서 멤버의 setter 또한 Address처럼 변경을 해야하는건가요?

0

David

네, 맞습니다.

0

2v2

감사합니다!

벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?

0

58

2

inheritance startegy 선택시 고려사항

0

42

1

Entity 동등성 비교

0

47

1

실무 조언 관련 질문입니다.

0

68

1

H2데이터베이스 파일 생성

0

78

2

서브쿼리 강의에서 ALL 예시 관련 질문드립니다.

0

70

2

수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?

0

63

1

JPQL 메소드와 락

0

63

1

Delivery @OneToOne

0

73

1

17강 4~5분대 테이블 값 조회가 안됩니다.

0

105

2

UnsupportedOperationException 발생

0

97

3

H2 Database 연결이 안됩니다.

0

103

2

연관관계 매핑 질문드립니다.

0

95

2

h2데이터베이스 실행오류

0

116

2

persistence.xml

0

121

2

양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?

0

90

1

영속성 컨텍스트

0

77

1

JPA 프록시

0

107

1

Native Query와 MyBatis

0

83

1

영속성 컨텍스트는 어떤 메모리에 저장되는건가요?

0

97

1

임베디드 타입 예시 코드 관련 질문

0

126

3

명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요

0

103

3

인텔리제이 패키지 커서 단축키 질문

0

113

2

혹시 현재는 ID 데이터 타입이 String이면 안되나요?

0

156

1