생성자와 불변식의 선택 기준을 나란히 비교한다
비교 항목: 필수 상태를 생성자 매개변수로 받는다 / 생성자 위임은 초기화 경로를 하나로 모은다 / 생성 중 this 노출을 피한다
| 확인 질문 | 판단 근거 | 코드에서 드러낼 것 |
|---|---|---|
| 필수 상태를 생성자 매개변수로 받는다 | 객체가 동작하는 데 반드시 필요한 값은 생성 시점에 요구합니다. | 타입과 시작값 |
| 생성자 위임은 초기화 경로를 하나로 모은다 | 편의 생성자가 기본값을 채워 주 생성자를 호출하면 검증과 필드 대입이 중복되지 않습니다. | 실패 또는 변경 경계 |
| 생성 중 this 노출을 피한다 | 생성자에서 콜백을 등록하거나 재정의 가능한 메서드를 호출하면 초기화가 끝나기 전에 외부가 객체를 볼 수 있습니다. | 선택한 규칙의 결과 |
선택 기준 생성자에서 콜백을 등록하거나 재정의 가능한 메서드를 호출하면 초기화가 끝나기 전에 외부가 객체를 볼 수 있습니다.