Какие знаешь модификаторы доступа в Kotlin

«Какие знаешь модификаторы доступа в Kotlin» — вопрос из категории Kotlin, который задают на 42% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Kotlin есть 4 модификатора доступа:

  1. public (по умолчанию) - виден везде
  2. private - виден только внутри класса/файла
  3. protected - виден в классе и наследниках
  4. internal - виден в пределах модуля

Пример:

open class Example {
    public val a = 1       // видно везде
    private val b = 2      // только внутри Example
    protected val c = 3    // в Example и наследниках
    internal val d = 4     // в пределах модуля
}

Для top-level объявлений (вне класса) доступны только public, private и internal.