Avatar ·

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.