Quando utilizados em uma propriedade ou método, a relação é direta com a semântica e organização do código para manutenções seguras e etc, ou tem ligação também com a segurança da aplicação? Aprendi no curso de OOP a utilização somente de public e private e venho utilizando em meus estudos e protótipos de sistemas o private para as propriedades e as vezes para os métodos.