생성자와 불변식 예제가 실행되는 순서
필수 인자 수신에서 시작해 모든 final 상태 확정 뒤 객체 공개까지 값과 책임이 이동한다.
-
1
필수 인자 수신
객체가 동작하는 데 반드시 필요한 값은 생성 시점에 요구합니다.
-
2
한 생성자로 위임해 검증
매개변수와 필드 이름이 같을 때 this.field로 필드를 구분합니다.
-
3
모든 final 상태 확정 뒤 객체 공개
편의 생성자가 기본값을 채워 주 생성자를 호출하면 검증과 필드 대입이 중복되지 않습니다.
실행 순서 한 인자 생성자는 기본 level을 채워 주 생성자에 위임하므로 검증 경로가 하나입니다.