internal open class Base { protected open fun foo() {} } internal class Derived : Base() { public override fun foo() { super.foo() } }