Cómo hacer un getter público y un setter privado para una propiedad en Kotlin?
¡Hola! Acabo de empezar a aprender Kotlin después de Java y me encontré con un problema. En Java solía hacer campos con setter privado y getter público para controlar el acceso a los datos. Por ejemplo:
```java
public class User {
private String name;
public String getName() {
return name;
}
private void setName(String name) {
this.name = name;
}
}
```
En Kotlin sé que se puede escribir `var name: String` y obtener automáticamente getter y setter, pero entonces ambos serán públicos. Si escribo `private var name: String`, ambos se vuelven privados. ¿Cómo hacer en Kotlin para que el getter sea público (se pueda leer la propiedad desde fuera) y el setter sea privado (solo se pueda cambiar el valor dentro de la clase)?
He probado diferentes variantes, pero el compilador se queja. Por ejemplo, intenté escribir `public var name: String private set`, pero no funciona. ¿Podrías indicarme cómo hacerlo correctamente? Y además, si es posible, muestra un ejemplo usando el constructor.