Menu
Coddy logo textTech

Sobrecarga de Métodos

Parte da seção Fundamentos do Journey de Java da Coddy. Lição 54 de 73.

Em Java, a sobrecarga de métodos permite definir vários métodos com o mesmo nome, mas com parâmetros diferentes. Isso significa que você pode ter vários métodos que desempenham uma função semelhante, mas operam em diferentes tipos de dados ou em uma quantidade diferente de argumentos.

A chave é que cada método sobrecarregado deve ter uma assinatura de método exclusiva. A assinatura do método é determinada pelo nome do método e pelo tipo e pela ordem de seus parâmetros.

Estas são as principais regras para sobrecarga de métodos:

  1. Mesmo nome: Todos os métodos sobrecarregados devem ter o mesmo nome.
  2. Parâmetros diferentes: Cada versão do método deve ter um número diferente de parâmetros, tipos diferentes de parâmetros ou ambos.
  1. O tipo de retorno não é suficiente: métodos sobrecarregados não podem diferir apenas pelo tipo de retorno. Eles devem ter listas de parâmetros diferentes.

Aqui está um exemplo para ilustrar a sobrecarga de métodos:

public class MathUtils {
    public static int add(int a, int b) {
    	return a + b;
    }

	public static double add(double a, double b) {
		return a + b;
	}

	public static int add(int a, int b, int c) {
		return a + b + c;
	}
}

Neste exemplo, temos três métodos chamados add. O primeiro adiciona dois números inteiros, o segundo adiciona dois números de ponto flutuante e o terceiro adiciona três números inteiros.

Java determina qual método chamar com base nos argumentos passados durante a chamada do método.

A sobrecarga de métodos torna o código mais legível e reutilizável. Em vez de criar nomes diferentes para métodos que realizam tarefas semelhantes (por exemplo, addInts, addDoubles, addThreeInts), você pode usar um único nome, add, e deixar que o compilador escolha o método apropriado com base no contexto.

Lembre-se: a sobrecarga exige tipos ou quantidades diferentes de parâmetros, não apenas nomes de parâmetros ou tipos de retorno diferentes.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Compilador de Java online