Преимущества использования модификатора internal в Kotlin по сравнению с public:
- Ограничение видимости внутри модуля. 23 Данные с модификатором internal доступны только в любой части того же модуля, в котором они определены. 4
- Удобство при написании API и реализаций. 3 Можно написать API-интерфейсы как public, основную реализацию как общедоступные классы, а весь вспомогательный код, от которого он зависит, — как internal. 3 Это означает, что внешний код вынужден проходить через API и не может получить доступ к внутренним компонентам. 3
Однако модификатор internal полезен только в том случае, если в проекте есть более одного модуля. 1 Иначе используется модификатор public. 1
Модификатор public не ограничивает доступ к членам класса. 1 Поля и методы с модификатором public доступны из любого места программы, включая другие модули. 1