Sobrecarga de métodos em Java [com exemplos]
Publicados: 2020-11-12Java é uma linguagem versátil que segue os conceitos da Programação Orientada a Objetos. Muitos recursos da programação orientada a objetos tornam o código modular, reutilizável, flexível e fácil de depurar. Existem muitos recursos de programação orientada a objetos, como herança, polimorfismo, encapsulamento e abstração.
Neste artigo, discutiremos a sobrecarga de métodos em Java, que é o tipo de polimorfismo.
Índice
Polimorfismo
Polimorfismo significa a capacidade de aparecer em diferentes formas. Ele permite que o mesmo método mostre comportamentos diferentes usando métodos diferentes. Existem dois tipos de polimorfismo: Sobrecarga de Método e Sobreposição de Método. A sobrecarga de métodos significa que vários métodos têm o mesmo nome, mas argumentos diferentes.
Aprenda a criar aplicativos como Swiggy, Quora, IMDB e muito maisSubstituição de método significa que a classe filha pode ter um método com o mesmo nome da classe pai, mas com uma implementação diferente. Discutiremos a sobrecarga de método com mais detalhes neste artigo. Para substituição de método, você pode visitar upGrad e obter informações.
Sobrecarga de métodos em Java
A sobrecarga de métodos em Java é um dos recursos mais úteis de uma linguagem orientada a objetos. Ele permite que uma classe tenha vários métodos com o mesmo nome. A única diferença que esses métodos têm é a lista diferente de parâmetros que são passados por esses métodos.
Pode ser entendido em termos simples com um exemplo simples. Uma adição de classe tem dois métodos chamados add(), um método tem parâmetros int a e int b, enquanto o outro tem três parâmetros inteiros, ou seja, int a, int b e int c. Portanto, diz-se que o método add() está sobrecarregado.

O método que será executado dependerá do número de parâmetros passados na instrução de chamada do método. Para ilustrar, add(20,30) chamará o método add() com dois parâmetros e add(10,20,30) chamará o método add com três parâmetros.
Diferentes maneiras de sobrecarregar um método
A sobrecarga de métodos em Java pode ser obtida de diferentes maneiras. Como entendemos que é a lista de parâmetros que diferencia os dois métodos com o mesmo nome em Java. As diferentes maneiras de sobrecarga de métodos em Java podem ser alcançadas variando a lista de parâmetros de uma das maneiras abaixo:
- Número de parâmetros
- O tipo de dados dos parâmetros
- A sequência de tipos de dados de parâmetros
O número de parâmetros
Como fica claro pelo nome, haverá um número diferente de parâmetros nos métodos sobrecarregados que decidirão qual método executar vendo a instrução de chamada do método. Abaixo está o método de sobrecarga em Java , onde o número de parâmetros varia.
Método1: add(int, int)
Método2: add(int, int, int)
A instrução de chamada de método add(20,30) executará o método1 e a instrução de chamada de método add(10,20,30) executará o método2.
O tipo de dados dos parâmetros
Nesse tipo de sobrecarga de métodos em Java , os dois métodos java de uma classe têm o mesmo nome, e o número de parâmetros pode ser igual ou diferente, mas o tipo de dados dos parâmetros será diferente.
Método1: add(int, int)
Method2: add(int, float)
Method3: add(float, float)
Nos métodos acima, o nome do método é o mesmo, mas o tipo de dados dos parâmetros é diferente. Portanto, a instrução de chamada de método add(2, 5.5) executará o método2. Da mesma forma, add(7.5, 10.25) irá executar o método3.
A Sequência do Tipo de Dados dos Parâmetros
Nesse tipo de sobrecarga de método em Java , tanto o nome do método quanto o número de parâmetros são os mesmos, mas a diferença está na sequência de tipos de dados desses parâmetros. Abaixo está o exemplo de métodos sobrecarregados:
Método1: add(int, float)
Método2: add(float, int)

Aqui, chamar a instrução para add(100, 75.5) chamará o método1 para executar e add(55.25, 150) executará o método2.
Portanto, são os parâmetros na instrução de chamada que decidem qual método sobrecarregado será executado.
Leia: Sobrecarga de métodos em Java
Por que precisamos de sobrecarga de método em Java?
Se o programador criou um método em Java para realizar alguma ação, mas posteriormente, como parte do requisito, o programador deseja que o mesmo método atue em parâmetros diferentes, então o codificador pode simplesmente usar o recurso de sobrecarga de método em Java . Isso permitirá que o programador crie os métodos de execução de funções semelhantes com o mesmo nome para que eles não precisem lembrar os nomes posteriormente.
Vamos conhecer as vantagens de realizar a sobrecarga de métodos em Java.
Vantagens de executar a sobrecarga de métodos em Java
Abaixo estão algumas das vantagens da sobrecarga de métodos em Java :
- Melhora a legibilidade do código escrito.
- Acrescenta limpeza ao código escrito.
- Ele também pode ser usado em construtores para que possamos criar objetos diferentes passando dados diferentes.
- Dá aos programadores a flexibilidade de chamar métodos diferentes com nomes semelhantes.
- Métodos sobrecarregados podem ter diferentes tipos de retorno.
Deve ler: Carreira em Java
Regras para sobrecarga de métodos em Java
- A primeira regra é alterar a assinatura do método. A assinatura do método refere-se ao número de argumentos, à sequência de parâmetros e ao tipo de dados dos parâmetros.
- Se apenas alterarmos o tipo de retorno do método mantendo o nome e os argumentos do método iguais, isso não será a sobrecarga do método, mas dará origem a um erro de compilação.
Pontos importantes sobre sobrecarga de métodos em Java
- Qualquer código escrito em Java não pode ter métodos com o mesmo nome. Se criarmos 2 métodos com o mesmo nome em Java, ele lançará um erro de compilação.
- Isso pode ser alcançado através da sobrecarga de métodos. A sobrecarga de métodos permite que os programadores escrevam dois ou mais métodos com o mesmo nome, mas com listas de parâmetros diferentes.
- A sobrecarga de métodos em Java é semelhante à sobrecarga de construtores. A única diferença é que a sobrecarga de método ocorre para os métodos definidos na classe, enquanto a sobrecarga de construtor é para os métodos construtores da classe.
- Na sobrecarga de métodos em Java, os métodos sobrecarregados possuem uma lista de parâmetros diferente. Não tem nada a ver com o tipo de retorno do método. Como um exemplo; se dois métodos tiverem o mesmo nome e a mesma lista de parâmetros, mas diferentes tipos de retorno, isso não é sobrecarga de método em Java , mas é um caso inválido.
Método 1 : int Add (float, float)
Método 2 : float Adicionar (float, float)
Este é o caso inválido de sobrecarga de método, pois ambos os métodos Add() têm o mesmo nome e a mesma lista de parâmetros.
Abaixo está o código que explica a Sobrecarga de Métodos em Java:
Soma da classe{
privado int a;
privado int b;
privado int c;
privado int d;
int public add(int a, int b){
intc;
c=a+b;
retornar c;
}
int public add(int a, float b){
intc;
c=a+b;
retornar c;
}
int public add(float a, float b){
intc;
c=a+b;
retornar c;
}
int public add(float a, int b, int c){
int d;
d=a+b+c;
retorno d;
}
}
Public static void main (String[]args)
{
// Criando o objeto da classe no método main
soma obj1 = nova soma();
soma1=obj1.add(10,20);
soma2=obj1.add(10,55,5);
soma3=obj1.add(110,5,25,5);

soma4=obj1.add(10,20,30);
}
Leia também: Programas padrão em Java
Conclusão
Neste artigo, o Método de Sobrecarga em Java foi discutido em detalhes, explicando seus tipos, regras e vantagens. O tema foi explicado em profundidade com a ajuda de exemplos. Deixe-nos saber nos comentários se você tiver alguma dúvida sobre sobrecarga em Java.
Se você estiver interessado em aprender mais sobre Java, desenvolvimento de software full-stack, confira o PG Diploma in Full-stack do upGrad & IIIT-B, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos , e atribuições, status de ex-alunos do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.