Sealed Class (& enum class) 등장 배경 여러 자식 클래스들이 하나의 부모 클래스를 상속받았다고 할 때, 컴파일러는 어떤 클래스들이 부모 클래스를 상속받았는지 알지 못한다. 그래서 이 문제를 해결하기 위해 sealed class라는 개념이 나왔는데 sealed class는 자신은 추상클래스이고, 자신을 상속받는 자식 클래스의 종류를 제한하는 특성을 가지고 있다. 컴파일 시 sealed class의 자식이 어떤 것이 있는지 알 수 있다는 것이다. 자식 클래스의 종류를 제한하기 때문에 다음과 같은 특성이 있다. 실드란 '봉인된'이라는 의미로 무언가 안전하게 보관하기 위해 묶어 두는 것 실드 클래스 그 자체로는 추상 클래스와 같기 때문에 객체를 만들 수는 없다. 생성자도 기본적으로는 pri..
Scope function Kotlin에서 제공하는 Scope function이다. 주로 객체와 함께 사용되며 편리하고 간결한 코드 작성을 도와준다. 간결한 코드 작성을 위해 필수적으로 알아두면 좋은 챕터라고 생각한다. 이름에서 알 수 있듯이 이 함수를 호출하면 Scope가 생기게 되고 이 Scope안에서는 전달된 객체가 "it" 또는 "this"라는 이름의 Context Object로 사용할 수 있게 된다. Scope function은 총 5가지가 있는데 함수마다 Context Object(전달된 객체)를 참조하는 방법과 리턴 값(Context Object or lambda)이 상이하다. 1. let let은 null이 아닌 값만 실행시키고 싶을 때 주로 사용된다. 그래서 let은?. 연산자와 같이 사..