Pular para o conteúdo principal

Questão de Engenharia de Software — Orientação a Objetos — Quadrix 2025

Engenharia de SoftwareOrientação a Objetos
Código
qg594755
Banca
Quadrix
Órgão
CFBio
Ano
2025
Nível
Superior
Cargo
Analista de Sistemas
A respeito da análise de sistemas e das tecnologias de virtualização, julgue o item a seguir.Na análise orientada a objetos, o objetivo do encapsulamento é tornar o software mais flexível, fácil de alterar e de criar novas implementações.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Encapsulamento na análise orientada a objetos

CERTO. O encapsulamento, na análise orientada a objetos, tem como objetivo central ocultar os detalhes internos de uma classe (atributos e métodos) e expor apenas uma interface de acesso, o que torna o software mais flexível, mais fácil de alterar e de criar novas implementações. Essa é uma definição clássica e amplamente aceita na engenharia de software, presente em obras de referência como as de Pressman e Sommerville.

O encapsulamento é um dos quatro pilares da orientação a objetos, ao lado de herança, polimorfismo e abstração. Ele consiste em agrupar dados e os métodos que operam sobre esses dados em uma única unidade (a classe) e, ao mesmo tempo, restringir o acesso direto a esses dados, permitindo que sejam acessados apenas por meio de métodos públicos (getters e setters, por exemplo). Essa restrição é o que chamamos de ocultação de informação (information hiding), conceito introduzido por David Parnas na década de 1970.

A principal vantagem do encapsulamento é a independência entre a interface e a implementação. Quando uma classe encapsula seus atributos, o restante do sistema só conhece a interface pública (os métodos). Isso significa que, se a implementação interna mudar (por exemplo, trocar uma lista por um mapa, ou alterar a forma de calcular um valor), os demais componentes do sistema não precisam ser alterados, desde que a interface permaneça a mesma. Essa característica é exatamente o que torna o software mais flexível e mais fácil de alterar.

Além disso, o encapsulamento facilita a criação de novas implementações porque, ao expor uma interface estável, permite que diferentes implementações sejam criadas e substituídas sem afetar o restante do sistema. Isso está diretamente relacionado ao princípio do aberto-fechado (OCP), um dos princípios SOLID, que afirma que as entidades de software devem ser abertas para extensão, mas fechadas para modificação. O encapsulamento é um dos mecanismos que viabilizam esse princípio.

Na prática, imagine uma classe ContaBancaria com um atributo privado saldo. O acesso ao saldo só é possível por métodos como getSaldo() e depositar(double valor). Se, no futuro, a regra de negócio mudar e for necessário aplicar uma taxa sobre cada depósito, basta alterar o método depositar — nenhum outro código que usa a classe precisa ser modificado. Essa é a essência do encapsulamento: proteger o estado interno e controlar as mudanças.

A banca explora aqui um conceito fundamental e bem estabelecido. A afirmação está correta e não há pegadinha ou exceção que a torne falsa. O encapsulamento é, de fato, um dos pilares que promovem a flexibilidade e a manutenibilidade do software orientado a objetos.

1O que é
Oculta detalhes internos
Expõe interface pública
2Benefícios
Mais flexível
Fácil de alterar
Novas implementações
3Mecanismo
Atributos privados
Métodos públicos (getters/setters)
4Relação com SOLID
Princípio aberto-fechado (OCP)
Encapsulamento
LEVELsoulevel.com.br
Encapsulamento: O que é (Oculta detalhes internos, Expõe interface pública); Benefícios (Mais flexível, Fácil de alterar, Novas implementações); Mecanismo (Atributos privados, Métodos públicos (getters/setters)); Relação com SOLID (Princípio aberto-fechado (OCP))

Alternativa C — ✅ CERTOGABARITO

A afirmação descreve com precisão o objetivo do encapsulamento na análise orientada a objetos. Ao ocultar os detalhes internos e expor apenas uma interface, o encapsulamento permite que o software seja mais flexível (pois mudanças internas não afetam o restante do sistema), mais fácil de alterar (pois a manutenção se concentra em pontos isolados) e mais propício à criação de novas implementações (pois a interface estável permite substituir ou estender a implementação sem quebrar o contrato). Essa é uma definição clássica, presente em toda a literatura de engenharia de software e programação orientada a objetos.

Alternativa E — ❌ Incorreta

A alternativa E afirma que o item está errado, mas isso não procede. O encapsulamento é exatamente o mecanismo que promove a flexibilidade, a facilidade de alteração e a criação de novas implementações, conforme explicado. Não há qualquer fundamento técnico para considerar a afirmação incorreta. Portanto, a alternativa E está errada.

Gabarito: letra C

Link permanente: /questoes/qg594755