[Kotlin] 봉인된 클래스(Sealed Class)와 봉인에 대하여
·
Language/Kotlin
1. 시작모두가 잘 알고 사용하고 있는 클래스와 상속을 이용한 다형성은 Open-Closed Principal의 기본이자 단순한 구현에서 벗어나 각 클래스들에 명확하고 분명한 책임을 부여하는데 이점이 있다. 하지만 높은 확장성은 인터페이스나 추상 클래스를 사용해 결과로 받은 객체가 내가 정의한 서브타입임을 보장할 수 없음을 의미하기도 하다. 이러한 구조를 '제한 없는 계층구조(non-restricted hierarchy)'라고 하며, 아래와 같이 작성할 경우 else 구문이 강제된다.abstract class Resultclass Success(val data: String) : Result()class Failure(val exception: Throwable) : Result()// 'when' ex..