What is the correct way to define a var in kotlin that has a public getter and private (only internally modifiable) setter?
var setterVisibility: String = "abc" // Initializer required, not a nullable type
private set // the setter is private and has the default implementation
See: Properties Getter and Setter
You can easily do it using the following approach:
var atmosphericPressure: Double = 760.0
get() = field
private set(value) {
field = value
}
Look at this story on Medium: Property, Getter and Setter in Kotlin.
var name : String = "Peter"
private set
By default all properties and functions are public in Kotlin. Hence the setter has to be explicitly declared private while the getter is public by default.