Inner Class

https://kotlinlang.org/docs/nested-classes.html

inner

Вложенный класс по умолчанию не имеет доступа к свойствам и функциям внешнего класса. Чтобы вложенный класс мог иметь доступ к свойствам и функциям внешнего класса, необходимо определить вложенный класс с ключевым словом inner

class A {
    private val n: Int = 1

    inner class B {
        private val n: Int = 1

        fun action() {
            println(n)        // n из класса B
            println(this.n)   // n из класса B
            println(this@B.n) // n из класса B
            println(this@A.n) // n из класса A
        }
    }
}

Kotlin Inner Class. Вопросы на собесе
  1. Что такое inner class в Kotlin и чем она отличается от обычного класса?