Возможно, вы захотите подойти к этому с неизменным классом данных.Тогда сеттеры не нужны и геттеры могут быть общедоступными:
data class Person(
val firstName: String,
val lastName: String,
val age: Int? = null
)
Полное имя, которое вы можете определить как свойство расширения:
val Person.name get() = "Mr./Msr./Ms. $firstName $lastName"
По умолчанию закрытые свойства недоступны, ноВы можете ограничить доступ к установщику, если хотите:
var name: String = ""
private set
В общем случае свойство является получателем и, возможно, установщиком, обращающимся к полю.Поле никогда не бывает публичным.Поэтому для достижения того, что вы хотите, вам нужно только объявить свойство как var name: String
.