Olá, estudante!
Obrigada por compartilhar sua dúvida sobre o uso do private set para variáveis no construtor primário em Kotlin.
No Kotlin, quando declaramos uma variável no construtor primário, ela não é automaticamente definida como private. A visibilidade padrão das variáveis no construtor primário é definida pelo modificador val ou var que utilizamos na declaração da variável.
Se utilizarmos val, a variável será imutável e não poderá ser alterada após a inicialização. Já se utilizarmos var, a variável será mutável e poderá ser alterada posteriormente.
Por exemplo, se tivermos a seguinte declaração no construtor primário:
class Pessoa(val nome: String, var idade: Int)
A variável nome será imutável e a variável idade será mutável. Não é necessário utilizar private set nesse caso, pois a visibilidade padrão já é adequada para as variáveis.
No entanto, se quisermos restringir o acesso à variável, podemos utilizar private antes do modificador val ou var. Por exemplo:
class Pessoa(private val nome: String, private var idade: Int)
Dessa forma, somente a própria classe terá acesso à variável.
Espero ter esclarecido sua dúvida! Se tiver mais alguma pergunta, é só me dizer. Bons estudos!
Espero ter ajudado e bons estudos!