Fala, Sillas! Tudo bem contigo?
É muito recomendado (meio que obrigatório rs) e como boas práticas mantermos nossos atributos privados para que não haja nenhuma possibilidade de outras classe (filhas ou externas) tenha acesso direto a eles.
A melhor forma e mais segura é encapsularmos esses atributos e acessá-los somente através da própria classe, por meio de métodos públicos ou não. Vai depender da sua estrutura.
De repente podemos alterar acidentalmente o código na Classe filha ou externa e como consequência deixar vulnerável. É como dar o acesso somente através de métodos. Se passar pelos métodos, perfeito! Cria-se uma regra para poder inputar os valores. Logo, nosso código está seguro!
Espero ter contribuído, Sillas!
Um abraço e bons estudos