Questão de Engenharia de Software — Orientação a Objetos — FCC 2017
Engenharia de Software›Orientação a Objetos
Código
fc038597
Banca
FCC
Órgão
TRF - 5ª REGIÃO
Ano
2017
Nível
Superior
Cargo
Analista Judiciário - Informática Desenvolvimento
Na programação orientada a objetos são utilizados classes e métodos. Um método
Acom determinado nome não pode aparecer mais de uma vez na mesma classe, mesmo que receba parâmetros de tipos diferentes.
Bem uma superclasse pode ser sobrescrito nas subclasses de uma relação de herança.
Cem Java pode receber diversos parâmetros e ter diversas operações de retorno consecutivas de tipos diferentes.
Ddeve ter assinatura e corpo quando aparecer em uma interface Java e deve ser público.
Econstrutor em uma classe Java pode ser sobrecarregado, desde que tenha um tipo de retorno diferente de void.
Revelar gabarito e comentário▾
GabaritoB — em uma superclasse pode ser sobrescrito nas subclasses de uma relação de herança.
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”.
Orientação a Objetos – Métodos (Sobrecarga e Sobrescrita)
Gabarito: letra B. Um método de superclasse pode ser sobrescrito (overridden) nas subclasses, mantendo mesma assinatura e alterando o comportamento. Esse é o conceito de {{sobrescrita}}, que junto com a sobrecarga (overloading) forma o polimorfismo na POO. As demais alternativas contêm erros típicos sobre os mecanismos de métodos em Java.
A tabela abaixo resume as diferenças entre os dois conceitos:
Característica
Sobrecarga (Overloading)
Sobrescrita (Overriding)
Onde ocorre
Mesma classe
Entre superclasse e subclasse
Assinatura
Diferente (parâmetros)
Idêntica
Vinculação (binding)
Tempo de compilação
Tempo de execução
Objetivo
Prover múltiplas versões do mesmo nome
Alterar comportamento herdado
Métodos em POO
1Sobrecarga (overloading)
Mesma classe
Assinatura diferente (parâmetros)
Vinculação em compilação
Múltiplas versões do mesmo nome
2Sobrescrita (overriding)
Superclasse → subclasse
Assinatura idêntica
Vinculação em execução
Altera comportamento herdado
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que um método de determinado nome não pode aparecer mais de uma vez na mesma classe, mesmo com parâmetros diferentes. Isso é o contrário da sobrecarga: métodos com o mesmo nome e assinaturas diferentes são perfeitamente válidos na mesma classe. O erro é confundir sobrecarga com proibição de duplicidade.
Alternativa B — ✅ Correta ⟵ GABARITO
Descreve exatamente a sobrescrita: um método definido na superclasse pode ser redefinido (sobrescrito) em uma subclasse, preservando a assinatura. Isso é a base do polimorfismo de subtipos e da ligação tardia (late binding).
Alternativa C — ❌ Incorreta
Diz que em Java um método pode ter "diversas operações de retorno consecutivas de tipos diferentes". Um método Java possui um único tipo de retorno fixo (ou void). Embora possa conter múltiplos comandos return, todos devem retornar valores compatíveis com o tipo declarado. A afirmação "de tipos diferentes" é falsa, pois não se pode alternar entre int, String, etc. em retornos consecutivos.
Alternativa D — ❌ Incorreta
Alega que um método em interface Java "deve ter assinatura e corpo" e "deve ser público". Em Java, métodos de interface são implicitamente públicos e abstratos (sem corpo) – exceto métodos default e static (a partir do Java 8) que podem ter corpo, mas não são obrigatórios para todas as interfaces. A afirmativa generaliza erroneamente que todo método de interface precisa de corpo, o que é falso para a maioria dos métodos abstratos.
Alternativa E — ❌ Incorreta
Afirma que um construtor pode ser sobrecarregado "desde que tenha um tipo de retorno diferente de void". Construtores não possuem tipo de retorno (nem void). A sobrecarga de construtores é permitida, mas depende exclusivamente de parâmetros diferentes, não de tipo de retorno. A condição imposta é totalmente descabida.