1
resposta

[Dúvida] Dúvidas Sobrecarga e Sobrescrita de Métodos

A sobrecarga de métodos @Override, permiti que um mesmo método da classe mãe pode ser utilizada em outras filhas com parametros diferentes e a sobrescrita pode ser entendido que poderá ser utilizada em subclasses que herdam o método, porém com comportamentos diferentes? 
1 resposta

Olá, Wilker! Como vai?

Entendo a confusão, pois esses conceitos realmente podem parecer semelhantes à primeira vista. Vamos esclarecer isso um pouco mais.

Sobrecarga de métodos ocorre quando você tem vários métodos com o mesmo nome dentro da mesma classe, mas com diferentes assinaturas (ou seja, diferentes tipos ou números de parâmetros). A ideia aqui é oferecer várias formas de se chamar um método, dependendo das necessidades específicas. Por exemplo, você pode ter um método imprimir que aceita um String, outro que aceita um int, e assim por diante. Isso é útil para flexibilizar a forma como as funcionalidades são acessadas.

Por outro lado, a sobrescrita de métodos está relacionada ao conceito de herança. Aqui, uma subclasse redefine um método que já existe na sua superclasse. A assinatura do método (nome e parâmetros) permanece a mesma, mas o comportamento pode ser alterado. Isso é essencial quando você quer que uma subclasse tenha um comportamento específico ao executar uma ação definida na superclasse. Por exemplo, se você tem uma classe Animal com um método falar(), subclasses como Cachorro, Gato e Pato podem sobrescrever esse método para emitir sons diferentes.

Então, resumindo:

  • Sobrecarga: Mesmo método, mesma classe, diferentes parâmetros.
  • Sobrescrita: Mesmo método, diferentes classes (herança), mesmo nome e parâmetros, comportamento diferente.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.