Что такое модификатор open

«Что такое модификатор open» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Модификатор open в Kotlin позволяет классу или члену класса (методу, свойству) быть переопределённым или унаследованным за пределами модуля, где он объявлен. Это самый открытый уровень доступа, в отличие от public, который разрешает наследование только внутри модуля.

Пример:

open class Parent {
    open fun show() = println("Parent")
}

class Child : Parent() {
    override fun show() = println("Child")
}

Здесь Parent можно унаследовать, а show() — переопределить, так как они помечены open.