El encapsulamiento consiste en establecer los atributos de un objeto como privados y, por otro lado, crear los métodos encargados de obtener y modificar dichos valores.

De esta forma, solo disponemos de los métodos para acceder o modificar los atributos pertenecientes a dicha clase.

class PersonaV4(private var nombre: String, private var edad: Int){
    // Función para editar valores
    fun porDefecto() {
        this.nombre = “Nombre X”
        this.edad = 18
    }
    
    // GETTER -> Obtener valores
    fun getNombre(): String {
        return this.nombre
    }

    // SETTER -> Cambiar valores
    fun setNombre(nuevoNombre: String) {
        this.nombre = nuevoNombre
    }
}
var persona4: PersonaV4 = PersonaV4(“anTonio”, 20)
println(persona4.getNombre()) // anTonio

persona4.setNombre(“Antonio”)
println(persona4.getNombre()) // Antonio