В Kotlin есть четыре модификатора доступа:
- public
- Private
- protected
- internal
Модификатор public
Если при объявлении каких-либо данных использовать модификатор public, то они будут видны. Еще public является модификатором по умолчанию для тех данных, которым модификатор явно не был указан.
Модификатор доступа здесь подсвечен серым цветом, это говорит нам о том что мы можем здесь его не писать т.к она указана по умолчанию.
Модификатор private
Private - самый строгий модификатор доступа. При его использовании данные будут доступны только в пределах конкретного класса или файла.
Модификатор protected
Данные, отмеченные модификатором protected будут видны:
- внутри класса, в котором они объявлены.
- в дочерних классах.
При этом нельзя отметить модификатором protected данные высокого уровня.
К таким данным относятся классы, а также переменные или функции, объявленные вне класса.
Модификатор internal
Как правило при разработке проекта мы делим его на независимые модули. Каждый модуль состоит из файлов, компилируемых вместе. Так вот модификатор internal позволяет сделать данные видимыми для всего модуля.
Данный модификатор можно применять ко всем типам данных. Однако он полезен только в том случае, если в проекте есть более одного модуля.
Иначе используется модификатор public.