Apple is Apple
Sealed Class
Language/Kotlin 2023. 9. 15. 16:44

Sealed Class (& enum class) 등장 배경 여러 자식 클래스들이 하나의 부모 클래스를 상속받았다고 할 때, 컴파일러는 어떤 클래스들이 부모 클래스를 상속받았는지 알지 못한다. 그래서 이 문제를 해결하기 위해 sealed class라는 개념이 나왔는데 sealed class는 자신은 추상클래스이고, 자신을 상속받는 자식 클래스의 종류를 제한하는 특성을 가지고 있다. 컴파일 시 sealed class의 자식이 어떤 것이 있는지 알 수 있다는 것이다. 자식 클래스의 종류를 제한하기 때문에 다음과 같은 특성이 있다. 실드란 '봉인된'이라는 의미로 무언가 안전하게 보관하기 위해 묶어 두는 것 실드 클래스 그 자체로는 추상 클래스와 같기 때문에 객체를 만들 수는 없다. 생성자도 기본적으로는 pri..