Marcelo criou um sistema em Java, onde definiu suas classes com todos os atributos públicos, mas como utilizou NetBeans, gerou os getters e setters, através da opção refactoring, após a codificação inicial. Ao efetuar essa operação, Marcelo buscava adotar o princípio do(a):
- A)encapsulamento;
Correta, porque getters e setters são recursos típicos do encapsulamento, controlando o acesso aos atributos da classe.
- B)abstração;
Incorreta, pois abstração está ligada a destacar o essencial e esconder detalhes, não à simples criação de getters e setters.
- C)polimorfismo;
Incorreta, porque polimorfismo envolve comportamentos diferentes para a mesma operação, o que não aparece no enunciado.
- D)herança;
Incorreta, já que herança diz respeito à relação entre classes, com reaproveitamento e especialização, e não ao acesso aos atributos.
- E)coesão.
Incorreta, porque coesão trata do grau de unidade e foco de responsabilidade de uma classe ou módulo, não do controle de acesso aos dados.
Gabarito: A
Encapsulamento é o princípio que organiza o acesso aos dados de um objeto, protegendo seus atributos e permitindo que a interação com eles ocorra por meio de métodos, como getters e setters. Na prática, isso evita que qualquer parte do sistema mexa diretamente no estado interno da classe e deixa o código mais controlado e fácil de manter. Quando Marcelo gerou getters e setters no NetBeans, ele estava justamente criando essa camada de acesso para seus atributos, o que é um exemplo clássico de encapsulamento. Mesmo que os atributos tenham sido definidos como públicos no começo, a ideia de adicionar getters e setters aponta para a intenção de melhorar o controle sobre os dados. Em concursos, a banca costuma explorar essa diferença entre “ter o dado exposto” e “ter um método para acessar o dado”. O nome bonito disso, na OO, é encapsulamento. Por isso, o gabarito é a letra A. Os demais princípios da orientação a objetos não aparecem no enunciado: não há relação entre classes, nem comportamento variável por tipo, nem abstração de uma interface geral. Aqui o foco está só na forma de acessar os atributos da classe.