하나의 enum 타입 안에서 서로 다른 경우 이름을 정의합니다.
열거형은 가능한 값의 형태를 하나의 타입으로 묶고, 각 배리언트가 서로 다른 데이터를 가질 수 있게 합니다.
Option<T>는 값이 있을 수도 없을 수도 있음을 타입으로 드러내어 null 사용에서 생기는 착각을 줄입니다.
하나의 enum 타입 안에서 서로 다른 경우 이름을 정의합니다.
각 배리언트는 문자열, 숫자, 구조체처럼 필요한 데이터를 직접 품을 수 있습니다.
구조체처럼 impl 블록을 붙여 enum 값에 동작을 연결할 수 있습니다.
Some(T)와 None으로 값의 부재를 명시적으로 처리하게 합니다.
도메인에서 가능한 상태나 메시지를 먼저 적습니다.
각 상태에 필요한 데이터를 배리언트에 붙입니다.
match나 if let으로 모든 경우를 읽을 위치를 정합니다.
열거형은 데이터가 여러 모양 중 하나라는 사실을 타입 자체에 기록해 처리 누락을 줄입니다.