** 출처 : 인프런 자바 개발자를 위한 코틀린 입문
class House(
private val address: String,
private val livingRoom: LivingRoom
) {
class LivingRoom(
private val area: Double
)
}
중첩 클래스를 쓸 때는 그냥 클래스 만들듯 편하게 작성하면 된다. 기본적으로 코틀린에서는 바깥 클래스에 대한 연결이 없는 클래스가 만들어지기 때문이다.
class House(
private val address: String,
private val livingRoom: LivingRoom
) {
inner class LivingRoom(
private val area: Double
) {
val address: String
get() = this@House.address
}
}
코틀린은 기본적으로 바깥 클래스를 참조하지 않는다.
바깥 클래스를 참조 할 때는 inner
키워드를 추가해야한다.
코틀린 inner class
에서 바깥 클래스를 참조하려면this@House.address
와 같이 this@바깥클래스
를 사용한다.
자바 | |
---|---|
클래스 안의 static 클래스 | 바깥 클래스 참조 없음. 권장되는 유형 |
클래스 안의 클래스 | 바깥 클래스 참조 있음 |
코틀린 | |
---|---|
클래스 클래스 | 바깥 클래스 참조 없음. 권장되는 유형 |
클래스 안의 inner 클래스 | 바깥 클래스 참조 있음 |