Ответ
open — модификатор доступа в Kotlin, позволяющий классу или члену класса быть унаследованным/переопределённым за пределами модуля, где он объявлен.
По умолчанию классы в Kotlin final, и для наследования их нужно явно помечать как open.
Пример:
open class Parent {
open fun doSomething() {
println("Parent logic")
}
}
class Child : Parent() {
override fun doSomething() {
println("Child logic")
}
}
Без open наследование или переопределение невозможно.