Eu estou com uma dúvida bem inocente, mas tem me confundido um tanto, especialmente quando começamos a estudar orientação à objetos com python. Entendo a necessidade de termos atributos ou métodos privados na hora de programar, mas pelo que eu tenho visto, é possível acessá-los fora de contexto. E também, que o python (especificamente) considera a maturidade dos programadores.
Mas a dúvida é qual a real necessidade da privação de métodos e atributos, não só no python, mas num contexto geral? Minha impressão pessoal é uma questão de segurança, mas estou inserto sobre como usar essa característica da programação. Alguém poderia me ajudar, talvez com algum exemplo?