Back to questions
Junior — Middle
65
Каково назначение и особенности использования модификатора доступа internal в языке Kotlin?
Companies where asked
Технократия
Effective Mobile
Answer from AI
sobes.tech AI
Модификатор доступа internal в Kotlin ограничивает видимость элемента (класса, функции, свойства) рамками одного модуля. Модуль — это обычно один Gradle-модуль или единица компиляции.
Особенности internal:
- Элементы с
internalдоступны во всех файлах внутри одного модуля. - За пределами модуля такие элементы недоступны, даже если они public.
- Это позволяет скрыть реализацию внутри модуля, не делая её полностью приватной.
Пример использования:
internal class InternalHelper {
fun doWork() = println("Работаю")
}
fun main() {
val helper = InternalHelper()
helper.doWork()
}
Если попытаться использовать InternalHelper из другого модуля, компилятор выдаст ошибку.
internal полезен для организации кода, когда нужно ограничить доступ к деталям реализации, но при этом обеспечить доступ внутри модуля.