소개상수로 정의한 특정 값들을 enum class로 정의하여 사용할 수 있다. 그렇게 하면 엉뚱한 값이 할당되는 상황을 방지할 수 있어 개발자의 실수를 줄일 수 있다. 이런 enum class의 한계는 내부적으로 각 enum constant는 하나의 single instance를 갖기 때문에 서로 다른 객체를 가질 수 없다는 것이다. 또한, Kotlin에서 자주 사용하는 when 문을 사용할 때, enum value가 누락되었어도 어떤 오류 메시지를 발생시키지 않는다. 반면에, sealed class를 사용하여 구현하였을 경우 when 문 안에서 누락된 값을 캐치할 수 있다. 설명sealed class와 interface는 상속에 대한 더 많은 제어를 제공하는 제한된 클래스 계층을 나타낸다.sealed ..