Какой дефолтный модификатор для элементов класса

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

Ответ

В Kotlin дефолтный модификатор доступа для элементов класса (полей, методов) — public. Это значит, что без явного указания модификатора элемент будет доступен отовсюду.

Пример:

class Example {
    val publicField = "I'm public" // public по умолчанию
    private val privateField = "I'm private" // явно private
}

Для классов дефолтный модификатор — public final (класс виден везде, но нельзя наследовать). Чтобы разрешить наследование, нужно явно указать open.