You can consider properties as values that you can get (and set for mutable), but they can have custom and excessive behavior and may not actually be saved. Therefore, properties are not fields.
In Kotlin, all properties of an element, privateor not, can have a background field , but this is not required.
:
var counter = 0
0 , : , , , . , . Java getter setter.
, , , -, , .
var counter = 0
get() = field + 1
set(value) { if (value >= 0) field = value }
, , get() set(...) , counter = something val x = counter. , , private .
Backing accessors field, . , . Java-, @JvmField ( Kotlin).
get(), :
val time: Long get() = System.currentTimeMillis()
, backing, .
, :
val String.isCapitalized: Boolean get() = length > 0 && this[0].isUpperCase()
private, .