O encapsulamento é um dos pilares da POO e representa uma barreira lógica entre o estado interno de um objeto e o ambiente externo. Ao adotar métodos acessores, como get e set, o programador é capaz de controlar o acesso aos dados e proteger a integridade da aplicação. Em uma aplicação orientada a objetos desenvolvida em Java, foi necessário restringir o acesso direto aos atributos de uma classe para garantir segurança e controle dos dados. Diante desse cenário, assinale a alternativa que justifica corretamente a adoção de métodos getter e setter em uma classe Java:

Questão

O encapsulamento é um dos pilares da POO e representa uma barreira lógica entre o estado interno de um objeto e o ambiente externo. Ao adotar métodos acessores, como get e set, o programador é capaz de controlar o acesso aos dados e proteger a integridade da aplicação.

Em uma aplicação orientada a objetos desenvolvida em Java, foi necessário restringir o acesso direto aos atributos de uma classe para garantir segurança e controle dos dados. Diante desse cenário, assinale a alternativa que justifica corretamente a adoção de métodos getter e setter em uma classe Java:

Alternativas

a) Getters e setters tornam o código mais extenso e, por isso, são usados apenas como boa prática estética.

b) Esses métodos permitem acesso direto aos atributos públicos, substituindo a necessidade de construtores.

c) O uso de métodos acessores compromete a modularidade, mas é exigido pelo compilador em tempo de execução.

Resposta certa

d) Esses métodos permitem que atributos privados sejam lidos ou modificados de maneira controlada, aplicando regras de validação, se necessário.

e) Getters e setters são utilizados apenas quando os atributos precisam ser herdados por subclasses.

Explicação

Em POO, encapsulamento significa esconder o estado interno do objeto (normalmente com atributos private) e expor apenas operações controladas para interação.

Ao usar getter e setter em Java, a classe não permite acesso direto aos atributos, mas oferece um ponto de controle para:

  1. Ler o valor de um atributo privado (getter) quando isso fizer sentido;
  2. Modificar o valor com segurança (setter), podendo impor regras de validação (ex.: impedir valores negativos, verificar formato, lançar exceções, registrar logs);
  3. Preservar a integridade do objeto, garantindo que ele não entre em um estado inválido.

Logo, a justificativa correta é a alternativa que afirma que getters e setters permitem acesso controlado a atributos privados, com possibilidade de validação.

Carregando…

Questões relacionadas

Ver últimas questões