Почему можно не указывать значения по умолчанию в переопределенных функциях-членах подтипов?

Как указано в заголовке: Почему можно опустить значения по умолчанию в переопределенных функциях-членах подтипов?

Этонормальный или следовало ожидать?

interface Foo {
  fun bar(parameter: Int = 1)
}

class Baz : Foo {
  override fun bar(parameter: Int) { // OK
    println(parameter)
  }
}

val baz = Baz()

baz.bar() // OK
baz.bar(2) // OK

Такое же поведение в случае, когдаFoo это класс.

Ответы на вопрос(2)

Ваш ответ на вопрос