Ответ
protected в Kotlin/Java означает, что член класса (поле, метод) доступен:
- Внутри самого класса
- Внутри классов-наследников (даже из других пакетов)
- Внутри того же пакета/модуля (только в Java, в Kotlin это не работает)
Пример в Kotlin:
open class Parent {
protected val secret = "123"
}
class Child : Parent() {
fun getSecret(): String {
return secret // доступно
}
}
fun main() {
val child = Child()
println(child.getSecret()) // "123"
// println(child.secret) // ошибка: protected
}