Какие есть модификаторы доступа в Kotlin

В Kotlin есть четыре модификатора доступа, которые управляют видимостью классов, интерфейсов, функций, свойств и других элементов:

  1. public: Это модификатор доступа по умолчанию в Kotlin. Элементы, объявленные с модификатором public, видны везде, где виден их контейнер (пакет, класс и т. д.), включая другие пакеты и классы.

  2. internal: Этот модификатор делает элементы видимыми только в пределах модуля, в котором они объявлены. Модуль - это набор файлов, компилируемых вместе, и модификатор internal ограничивает видимость элементов только для этого модуля.

  3. protected: Этот модификатор доступа используется только внутри классов. Элементы с модификатором protected видны только внутри класса и его подклассов (наследников). Они не видны вне класса, даже в том же пакете.

  4. private: Этот модификатор доступа делает элементы видимыми только внутри класса, в котором они объявлены. Они не видны даже в подклассах или в других классах в том же пакете.