Kotlin: como criar um getter público, mas um setter privado para uma propriedade?
Olá! Comecei a estudar Kotlin recentemente e estou migrando do Java. Em Java, eu costumava criar campos com setter privado e getter público, por exemplo:
```java
private String name;
public String getName() {
return name;
}
private void setName(String name) {
this.name = name;
}
```
Mas no Kotlin, vejo que as propriedades (var) criam automaticamente tanto o getter quanto o setter. Se eu escrevo `var name: String`, tanto o getter quanto o setter se tornam públicos. E se uso `val name: String`, a propriedade é somente leitura — não há setter.
Preciso que a propriedade possa ser lida de qualquer lugar (getter público), mas que seu valor seja alterado apenas dentro da classe (setter privado). Como fazer isso corretamente em Kotlin?
Tentei escrever `private var name: String`, mas então o getter também se torna privado, e não consigo ler a propriedade de fora. Tentei várias combinações de modificadores de acesso antes de `var` e dentro de `set`, mas me confundi.
Por favor, me diga como declarar uma propriedade com getter público e setter privado em Kotlin.