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

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

[Kotlin] Scope function
Language/Kotlin 2023. 7. 31. 17:12

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은?. 연산자와 같이 사..