Skip to content

봉인된 클래스 계층

ik edited this page Aug 7, 2016 · 2 revisions

2.10 봉인된 클래스 계층

sealed abstract class Option[+A] extends Product with Serializable {...}

final case class Some[+A](x: A) extends Option[A] {...}

case object None extends Option[Nothing] {} // 왜 final이 아닐까요?
  • 서브클래스 생성 방지
  • 모든 서브클래스가 같은 소스 파일안에 선언 되어야 한다.
  • final 키워드로 서브타입을 막을 수 있다.
Clone this wiki locally