봉인된 클래스 계층

Volc·2023년 4월 13일
0

Scala

목록 보기
7/9

Option 클래스의 유용한 디자인적 특징

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

0개의 댓글