CH9-3 · MODEL

sealed 타입으로 계층 닫기: 먼저 구분할 경계

인터페이스는 기본적으로 누구나 새 구현을 추가할 수 있지만 업무 상태처럼 가능한 하위 타입을 제한하고 싶을 수 있습니다.

핵심 경계

sealed 선언이 직접 하위 타입을 제한한다

허용 목록 밖의 클래스는 상속하거나 구현할 수 없습니다.

핵심 경계

하위 타입이 다음 확장 정책을 선택한다

final은 끝내고 sealed는 다시 목록을 제한하며 non-sealed는 그 아래를 엽니다.

핵심 경계

닫힌 계층은 상태별 데이터를 분리한다

성공과 실패처럼 서로 다른 필드를 가진 상태를 하나의 nullable 클래스에 넣는 대신 하위 record로 분리할 수 있습니다.

핵심 경계 허용 목록 밖의 클래스는 상속하거나 구현할 수 없습니다.