Option Enum

Option은 값 있음과 없음의 분기를 타입으로 강제한다

null 대신 Some과 None을 쓰면 값이 없을 가능성을 match나 if let에서 반드시 다루게 된다.

널 대체 흐름

exhaustive check

enum variant

서로 다른 상태를 하나의 타입 안에 명확히 이름 붙여 담는다.

Option<T>

값이 없을 수 있다는 사실을 타입 시그니처에서 바로 드러낸다.

안전한 분기

match는 Some과 None을 빠뜨리면 컴파일 단계에서 알려준다.

값 생성Some/Nonematch안전 처리
읽는 법

Option을 쓰면 실패 가능성을 문서나 주석에 숨기지 않고, 호출자가 코드로 처리해야 하는 계약으로 만든다.