
[TIL/Kotlin] 코틀린 고급문법_중첩 클래스와 내부 클래스
·
TIL/Kotlin
1. 중첩 클래스(Nested Class) 클래스 안에 또 다른 클래스를 선언하는 것을 중첩 클래스라고 한다. 중첩 클래스는 타입 이름이 '바깥 클래스.중첩 클래스'로 만들어진다. 생성자 이름도 마찬가지이다. 바깥 클래스와 중첩 클래스의 인스턴스는 서로 어떠한 프로퍼티나 멤버 함수도 공유하지 않는 완전히 별개의 클래스이다. 단순히 식별자만 바깥 클래스에 속해있는 것이다. class Outher { // 바깥 클래스 class Nested { // 중첩 클래스 fun hello() = println("중첩된 클래스") } } fun main() { val instance: Outher.Nested = Outher.Nested() } 다음과 같은 코드는 오류를 일으킨다. class Outer2 { priva..