Ответ
internal в Kotlin ограничивает видимость элемента текущим модулем (например, одним Gradle-модулем в Android). Это полезно для:
- Сокрытия реализации – код доступен только внутри модуля, но не снаружи.
- Безопасности – предотвращает случайное использование внутренних компонентов другими модулями.
Пример:
// В модуле :core
internal class DatabaseHelper { ... }
// В другом модуле – ошибка компиляции:
// val db = DatabaseHelper() // Unresolved reference
Используется для логического разделения кода между модулями, например, для :core или :data.