Avatar ·

Getters e setters em Kotlin: como declarar e usar propriedades com acessores customizados?

Olá a todos! Recentemente comecei a estudar Kotlin depois de Java e me deparei com dificuldades para entender o funcionamento de getters e setters. Em Java, eu estava acostumado a declarar explicitamente campos com modificadores de acesso e depois escrever métodos getField() e setField() para eles. Em Kotlin, como entendi, é diferente — existem propriedades (properties) que geram automaticamente getters e setters.

\n\n
// Exemplo da minha tentativa\nclass Person {\n    var name: String = "Unknown"\n    var age: Int = 0\n    \n    // Estou tentando fazer um setter customizado para age\n    set(value) {\n        if (value >= 0) {\n            // Como acessar o campo aqui? field? Ou this.age?\n            this.age = value // Causa recursão!\n        } else {\n            println("A idade não pode ser negativa")\n        }\n