Почему компилятору Kotlin требуется явный инициализатор свойства var?

Я не могу понять следующую часть документации 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

Единственное объяснение того, почему компилятору здесь нужен явный инициализатор (по крайней мере, единственное объяснение, которое я могу придумать), заключается в том, что у Kotlin нет значений свойств по умолчанию. Это правильно? Если так, то почему? Другими словами: в чем разница между свойствами Kotlin и полями Java (которые имеют значения по умолчанию), которые не позволяют нам иметь значения свойств по умолчанию?

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

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