Что такое модификатор доступа internal в Kotlin

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

Ответ

Модификатор internal в Kotlin означает, что элемент (класс, функция, свойство) виден только внутри модуля, в котором он объявлен. Модуль — это набор файлов Kotlin, скомпилированных вместе (например, модуль в Android Studio или Gradle).

Пример:

internal class MyInternalClass {
    internal fun doSomething() { /* ... */ }
}

В этом случае MyInternalClass и doSomething() доступны только внутри текущего модуля.

Отличия от других модификаторов:

  • public — виден везде (по умолчанию)
  • private — виден только в файле/классе
  • protected — виден в классе и наследниках
  • internal — виден в модуле