여러 가능성

열거형 정의하기

enum 배리언트, 배리언트별 데이터, Option을 통해 한 값이 가질 수 있는 여러 형태를 타입으로 표현합니다.

배리언트

서로 다른 경우를 하나의 타입 아래 이름으로 둡니다.

데이터 포함

각 배리언트가 필요한 데이터 모양을 다르게 가질 수 있습니다.

Option

값이 있음과 없음을 Some과 None으로 명확히 표현합니다.

널 대체

없는 값 처리를 타입 검사와 패턴 매칭의 일부로 만듭니다.

enum 설계 순서

열거형 정의하기 읽기 기준
경우 나열

값이 취할 수 있는 상태를 빠짐없이 배리언트로 적습니다.

데이터 연결

각 상태가 필요로 하는 추가 값을 배리언트 안에 둡니다.

처리 준비

match나 if let로 각 경우를 안전하게 꺼낼 수 있게 합니다.

열거형은 여러 타입을 흉내 내는 도구가 아니라, 가능한 상태의 목록을 코드에 잠그는 방법입니다.