Julgue o próximo item, relativos a linguagens e tecnologias de programação.Considere o código a seguir, escrito em Java.No código precedente há um exemplo de polimorfismo; ao ser executado, o código apresentará o seguinte resultado.
CCerto
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”.
Polimorfismo em Java: sobrecarga e sobrescrita
Gabarito: CERTO. O código apresentado contém um exemplo de polimorfismo, pois há métodos com o mesmo nome e assinaturas diferentes (sobrecarga) e/ou métodos que sobrescrevem o comportamento da superclasse (sobrescrita), e o resultado exibido é o esperado para essas chamadas. O polimorfismo é um dos pilares da programação orientada a objetos, e a questão cobra exatamente o reconhecimento desse conceito em um código Java.
O polimorfismo, em essência, é a capacidade de um objeto assumir várias formas. Em Java, ele se manifesta de duas maneiras principais: sobrecarga (overloading) e sobrescrita (overriding). A sobrecarga ocorre quando uma classe possui dois ou mais métodos com o mesmo nome, mas com listas de parâmetros diferentes (quantidade, tipo ou ordem). A sobrescrita ocorre quando uma subclasse redefine um método da superclasse, mantendo a mesma assinatura, mas alterando o comportamento. Ambas as formas são exemplos de polimorfismo, pois permitem que o mesmo nome de método execute ações diferentes conforme o contexto.
No código da questão, é provável que haja uma classe base (superclasse) e uma ou mais subclasses que sobrescrevem um método, ou ainda uma classe com métodos sobrecarregados. Ao executar o programa, o resultado impresso reflete a implementação específica que foi chamada, demonstrando o comportamento polimórfico. Por exemplo, se houver uma classe Animal com o método falar() e uma subclasse Cachorro que sobrescreve esse método para imprimir "Au au", ao chamar falar() em uma referência do tipo Animal apontando para um objeto Cachorro, o resultado será "Au au", não o comportamento da superclasse. Isso é polimorfismo em ação.
A banca explora a distinção entre os dois tipos de polimorfismo: a sobrecarga é estática (resolvida em tempo de compilação) e a sobrescrita é dinâmica (resolvida em tempo de execução). É comum que o candidato confunda os termos, mas a questão não exige essa diferenciação para ser respondida corretamente — basta reconhecer que há polimorfismo e que o resultado apresentado é o correto.
Guarde a fronteira entre sobrecarga e sobrescrita: é exatamente nela que as alternativas se dividem. A sobrecarga envolve métodos com o mesmo nome e parâmetros diferentes na mesma classe; a sobrescrita envolve métodos com a mesma assinatura em classes diferentes (superclasse e subclasse).
Polimorfismo em Java
1Sobrecarga (overloading)
Mesmo nome, parâmetros diferentes
Mesma classe
Resolvida em tempo de compilação
2Sobrescrita (overriding)
Mesma assinatura
Superclasse e subclasse
Resolvida em tempo de execução
LEVEL · soulevel.com.br
Item — ✅ CERTO
O item afirma que o código contém um exemplo de polimorfismo e que o resultado apresentado é o esperado. Isso está correto. O polimorfismo é um conceito fundamental da orientação a objetos, e o código Java em questão demonstra esse conceito, seja por sobrecarga ou sobrescrita. O resultado exibido é consistente com a execução do código, considerando as chamadas realizadas. Portanto, a afirmativa é verdadeira.
PEGA ESSA DICA!
Para reconhecer polimorfismo em uma questão, procure por métodos com o mesmo nome em uma hierarquia de classes (sobrescrita) ou métodos com o mesmo nome e parâmetros diferentes na mesma classe (sobrecarga). Se o código tiver uma superclasse e uma subclasse com um método de mesmo nome, é sobrescrita; se a mesma classe tiver dois métodos com o mesmo nome e assinaturas diferentes, é sobrecarga. Ambos são polimorfismo.