

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Em programação orientada a objetos com tipagem estática, considere uma hierarquia de tipos em que:
1.Métodos podem ser sobrescritos (overriding ) em subclasses;
2.Métodos podem ser sobrecarregados (overloading) dentro de uma mesma classe ou escopo;
3.O sistema de tipos suporta covariância de retorno (o tipo de retorno pode ser mais específico na sobrescrita);
4.Não há suporte à contravariância em parâmetros de métodos sobrescritos (ou seja, a assinatura deve manter compatibilidade estrita nos parâmetros);
5.A resolução de sobrecarga ocorre em tempo de compilação, enquanto a sobrescrita utiliza despacho dinâmico (dynamic dispatch).
Analise as sentenças a seguir e assinale a alternativa correta:
A sobrecarga permite múltiplos métodos com o mesmo nome diferenciados por assinatura, sendo resolvida em tempo de compilação, enquanto a sobrescrita mantém a mesma assinatura (com possível covariância no retorno) e é resolvida em tempo de execução.
A sobrecarga e a sobrescrita são ambas resolvidas em tempo de execução, uma vez que o sistema de tipos precisa inspecionar o tipo dinâmico dos objetos envolvidos para selecionar a implementação mais adequada, sendo diferenciadas apenas pelo fato de a sobrescrita ocorrer em hierarquias de herança.
Na sobrescrita, a escolha do método é feita em tempo de compilação com base no tipo estático da referência, enquanto na sobrecarga a decisão depende do tipo dinâmico dos argumentos fornecidos em tempo de execução, especialmente em cenários com herança e múltiplas implementações possíveis.
A sobrecarga exige que os métodos possuam tipos de retorno covariantes para permitir distinção entre assinaturas semelhantes, enquanto a sobrescrita admite variação nos parâmetros desde que haja compatibilidade estrutural e semântica entre os métodos envolvidos.
Na sobrescrita, é permitido alterar os tipos dos parâmetros de forma contravariante, desde que o sistema de tipos consiga garantir substituibilidade em tempo de execução, mantendo o tipo de retorno idêntico ao da superclasse para preservar a consistência da chamada.