작성
·
273
1
항상 강의 잘 듣고 있습니다
다름이아니라 강의 흐름을 보면 member2.setHomeAddress에서 member2.setHomeAddress(copyAddress)가 아니라
member2.setHomeAddress(address)로 할 경우 이를 막을 방법이 없다가 객체 타입의 한계라고 말씀해주셨는데요
이를 해결하기 위해 불변 객체 말씀을 해주셨는데 불변 객체 예시로 들어주신 것은 Address 라는 값타입의 setter를 없애는 것이었는데요
Address의 setter를 없애도 똑같이 member2.setHomeAddress(copyAddress)가 아니라
member2.setHomeAddress(address)로 할 경우 참조가 공유되는 문제는 해결 못하지 않나요 ?
답변 감사드립니다
말씀은 이해했습니다. 그럼 Address의 setter 문제가 아니라 확장해서 member에서 객체 타입의 문제( member2.setHomeAddress(copyAddress)가 아니라 member2.setHomeAddress(address)를 호출했을 때 막지 못하는 문제) 해결하기 위해서 멤버의 setter 또한 Address처럼 변경을 해야하는건가요?