CH7-5 · DECISION

불변 객체 설계의 선택 기준을 나란히 비교한다

비교 항목: 생성자에서 모든 상태를 확정한다 / 값 기반 동등성을 함께 설계한다 / 불변성은 공유 비용을 낮춘다

불변 객체 설계 판단표
확인 질문판단 근거코드에서 드러낼 것
생성자에서 모든 상태를 확정한다필수 값을 검증해 final 필드에 저장하고 상태를 바꾸는 setter를 제공하지 않습니다.타입과 시작값
값 기반 동등성을 함께 설계한다불변 값 객체는 보통 같은 구성 값이면 같다고 판단합니다.실패 또는 변경 경계
불변성은 공유 비용을 낮춘다락 없이 읽을 수 있고 방어적 스냅샷으로 전달하기 쉬워집니다.선택한 규칙의 결과

선택 기준 락 없이 읽을 수 있고 방어적 스냅샷으로 전달하기 쉬워집니다.