O encapsulamento é um dos pilares fundamentais da programação orientada a objetos. Ele consiste em restringir o acesso direto aos membros internos de uma classe, como atributos e métodos, tratando-os como elementos internos de uma "caixa preta". Isso significa que os detalhes de implementação ficam ocultos do mundo exterior, permitindo que apenas operações controladas sejam realizadas sobre os dados da classe. Para controlar esse acesso, são utilizados modificadores de visibilidade, tais como privado, público e protegido. O modificador privado impede o acesso aos membros da classe a partir de outras classes. Já o modificador público permite que atributos e métodos sejam acessados livremente por qualquer parte do programa. O modificador protegido, por sua vez, permite o acesso apenas dentro da própria classe e por suas classes derivadas. Considerando esses comportamentos associados aos modificadores de visibilidade, analise as opções apresentadas e assinale a alternativa correta. Alternativas: a) Um atributo privado pode ser acessado pelos métodos privados da própria classe e pelos métodos protegidos das suas classes descendentes. b) Um atributo privado pode ser acessado pelos métodos públicos da própria classe e pelos métodos públicos das suas classes descendentes. c) Um membro público é visível na classe à qual ele pertence, mas não é visível nas suas classes descendentes. d) Um método protegido não pode acessar os atributos privados e declarados na própria classe. e) Um membro protegido é visível na classe à qual pertence e em suas classes descendentes.