Bom dia, João, tudo bem?
Isso mesmo, ao deixar o atributo privado dificultamos o acesso direto de um usuário a este valor (não impede completamente). O setter é uma função que tem o propósito de controlar o acesso do usuário nesta variável, abrindo uma "porta" para fazer esse tipo de modificação. Muitas vezes é necessário você alterar um atributo que foi instanciado previamente. A vantagem de se utilizar um setter é que você consegue aplicar modificações ao valor de input. No exemplo da aula, o professor fez com que ao utilizar o setter fosse aplicado dentro da string recebida o método title(), fazendo com que a palavra fosse formatada para o jeito desejado.
Dessa forma, é possível fazer:
atlanta.nome = "atlanda - de glover"
Devido a presença desse setter, porém internamente à classe o atributo _nome
receberá o valor "Atlanda - De Glover"
. Foi possível alterar o nome do filme posteriormente de uma forma direta e, junto a isso, aplicar uma função para formatar o dado.