Java

Sobrecarga (overload) em Java

Sobrecarga de método permite a existência de vários métodos de mesmo nome, porém com assinaturas levemente diferentes, ou seja, variando no número, tipo de argumentos, no valor de retorno e até variáveis diferentes. Neste post veja sobrecarga (overload) em Java.

Ficará a cargo do compilador escolher de acordo com as listas de argumentos os procedimentos ou métodos a serem executados:

 public class Soma {
  public int soma(int x, int y) {
    return x+y;
  }   
  public String soma(String x, String y) {
    return x+y;
  }   
  public double soma(double x, double y) {
    return x+y;
  } 
 }

O método que será executado depende estritamente do tipo do parâmetro passado e esta decisão será feita pelo compilador.

A importância de permitir a sobrecarga de métodos não reside em uma mera conveniência para evitar que se tenha que escolher e usar nomes novos para cada definição, ou para evitar conflitos entre nomes existentes em um determinado escopo e, assim, evitar a “poluição” do espaço de nomes usados em programas.

A sobrecarga de métodos tem, outrossim, a propriedade fundamental de permitir que expressões e nomes definidos por meio do uso de símbolos sobrecarregados possam ser usados em contextos que requerem valores de tipos distintos, permitindo assim que sejam definidas novas abstrações polimórficas.

Como um exemplo bastante simples, considere que o símbolo + é sobrecarregado para adição de inteiros e números de ponto flutuante.

Nesse caso, podemos ter uma única definição para computar a soma dos inteiros em uma lista, seja ela uma lista de inteiros ou uma lista de números de ponto flutuante.

Em outras palavras, podemos fazer uma única definição, polimórfica, da mesma forma como ocorre no caso, tão justamente louvado, do polimorfismo paramétrico. 

DOMINE O JAVA WEB ATRAVÉS DE AULAS PASSO A PASSO, DO BÁSICO AO AVANÇADO!

Domine as boas práticas com projetos práticos que vão te ajudar a desenvolver sistemas e se destacar no mercado de programação.

Clique na imagem abaixo e conheça mais detalhes do nosso curso:

Link do curso: https://go.hotmart.com/S90628636G?src=siteCB

Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits

Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *