Por que o compilador Kotlin requer o inicializador explícito da propriedade var?
Não consigo entender a seguinte parte da documentação do Kotlin:
The initializer, getter and setter are optional. Property type is optional
if it can be inferred from the initializer or from the base class member being overridden.
Examples:
var allByDefault: Int? // error: explicit initializer required, default
getter and setter implied
A única explicação de por que o compilador requer inicializador explícito aqui (pelo menos a única explicação que posso apresentar) é que o Kotlin não possui valores padrão de propriedades. Está certo? Se sim, por quê? Em outras palavras: qual é a diferença entre as propriedades do Kotlin e os campos Java (que possuem valores padrão) que não nos permitem ter valores padrão das propriedades?