[Kotlin] 중첩 클래스

유존돌돌이·2023년 3월 22일
0

Kotlin

목록 보기
5/10
post-thumbnail

1. 바깥 클래스의 연결이 없는 Java의 static 중첩 클래스 (권장)

class House(
    private val address: String,
    private val livingRoom: LivingRoom = LivingRoom(10.0)
) {
    class LivingRoom(
        private val area: Double
    )
}

기본적으로 바깥 클래스에 대한 연결이 없는 중첩 클래스가 만들어진다

2. 연결이 있는 내부 클래스 (권장하지 않음)

class House(
    private val address: String
) {
    var livingRoom = LivingRoom(10.0)

    inner class LivingRoom(
        private val area: Double
    ) {
        val address: String
            get() = this@House.address
    }
}

this@상위클래스.변수 를 써서 바깥 클래스의 프로퍼티를 사용한다.

0개의 댓글