Option 클래스의 유용한 디자인적 특징
- Option은 서브타입이 둘뿐이다. Some과 None
- Option에는 더 이상의 서브 타입이 존재하지 않는다.
- Option은 sealed를 사용하여 사용자가 자신만의 서브 클래스를 만들지 못하도록 방지한다.
sealed abstract class Option[+A] ... { ... }
- sealed 키워드는 모든 서브클래스가 같은 소스 파일 안에 선언되어야 한다고 컴파일러에 알려준다.
- 사용자가 서브타입을 만들지 못하도록 막고 싶다면, 특정 타입을 final로 정의할 수도 있다.