CH9-1 · FLOW

enum으로 닫힌 상태 표현하기 예제가 실행되는 순서

외부 코드를 팩터리에 전달에서 시작해 일치한 enum 또는 명시적 실패 반환까지 값과 책임이 이동한다.

  1. 1
    외부 코드를 팩터리에 전달

    매개변수가 enum 타입이면 호출자는 선언된 상수만 전달할 수 있습니다.

  2. 2
    선언된 상수의 code와 비교

    생성자와 필드, 메서드를 선언해 상태 코드나 표시 이름을 함께 보관합니다.

  3. 3
    일치한 enum 또는 명시적 실패 반환

    valueOf는 이름이 정확히 일치하지 않으면 예외를 냅니다.

실행 순서 선언 순서와 무관한 code 필드를 사용해 외부 값의 안정된 변환 경계를 만들었습니다.