Pular para o conteúdo principal

Questão de Programação — Programação Orientada a Objetos — FCC 2019

ProgramaçãoProgramação Orientada a Objetos
Código
fc057622
Banca
FCC
Órgão
TRF - 3ª REGIÃO
Ano
2019
Cargo
Analista Judiciário - Informática
A Programação Orientada a Objetos - POO tem alguns mecanismos para garantir maior segurança no código. Mais especificamente, nos casos dos atributos de classes, a recomendação é utilizar a visibilidade private para os atributos de uma classe. Assim, considerando que uma classe tenha sido criada com a visibilidade private,
  1. Aatributos e métodos são acessíveis somente dentro das classes que pertençam ao mesmo pacote.
  2. Baqueles que tenham acesso à classe terão acesso também a qualquer membro.
  3. Catributos e métodos são acessíveis dentro da própria classe, das subclasses e das classes que façam parte do mesmo pacote.
  4. Da classe pode ser instanciada por qualquer outra classe.
  5. Eo acesso aos atributos dessa classe deve ser feito somente por operações definidas na mesma classe que contêm os atributos desejados.
Revelar gabarito e comentário

GabaritoE — o acesso aos atributos dessa classe deve ser feito somente por operações definidas na mesma classe que contêm os atributos desejados.

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”.

Programação Orientada a Objetos – Modificador de Acesso private

Gabarito: letra E. O modificador private restringe o acesso aos membros (atributos e métodos) exclusivamente à própria classe que os define. Nenhuma outra classe, subclasse ou classe do mesmo pacote pode acessá-los diretamente; o acesso externo só é possível por meio de métodos públicos da própria classe (getters/setters). É o princípio do encapsulamento.

A questão testa a diferença entre os principais modificadores de acesso em POO (comum em Java, C++, C# etc.). A tabela abaixo resume:

Modificador

Acesso pela própria classe

Acesso por subclasse

Acesso por classe do mesmo pacote

Acesso por qualquer classe

private

default (package-private)

❌ (se outro pacote)

protected

❌ (se não for subclasse)

public

NÃO CAIA NESSA!

A banca troca propositalmente os efeitos dos modificadores. As alternativas A, B e C descrevem, respectivamente, o comportamento do modificador default (A), da ausência de restrição public (B) e do protected (C). Candidatos desatentos confundem private com protected ou default. Memorize: private = só a classe dona.

Alternativa A — ❌ Incorreta

Descreve o escopo de visibilidade default (package-private) em Java: membros sem modificador explícito são acessíveis por classes do mesmo pacote. Não é private.

Alternativa B — ❌ Incorreta

Afirma que qualquer um com acesso à classe tem acesso a qualquer membro. Isso só vale para membros public. Em private, mesmo dentro da classe, o acesso é controlado, mas a frase é genérica e errada.

Alternativa C — ❌ Incorreta

Descreve o modificador protected: acesso na própria classe, subclasses e classes do mesmo pacote. Não é private.

Alternativa D — ❌ Incorreta

Fala sobre instanciar a classe, não sobre acesso a atributos. A visibilidade da classe (se é pública ou não) é independente da visibilidade de seus membros. Além disso, uma classe private (inner class) não pode ser instanciada por qualquer outra. Totalmente fora do escopo.

Alternativa E — ✅ Correta ⟵ GABARITO

Literalmente, o acesso a atributos private só pode ser feito por operações (métodos) definidas na mesma classe. É a definição de encapsulamento: esconder os dados e expor apenas o necessário por métodos públicos.

Gabarito: letra E

Link permanente: /questoes/fc057622