ExpertiDict

Java · Essencial · Português · Técnico

sobrecarga

/sobɾeˈkaɾɡɐ/substantivo

Definir vários métodos com o mesmo nome na mesma classe, mas com parâmetros diferentes em tipo ou quantidade. O compilador escolhe qual chamar.

Onde usar

Aparece em APIs como println e String.valueOf. Gera confusão com conversões automáticas: remove(int) e remove(Object) em List têm efeitos bem distintos.

Em código

var l = new ArrayList<>(List.of(10, 20, 30));
l.remove(1);  // índice 1: [10, 30]
l.remove(Integer.valueOf(30));  // valor 30

Exemplos

Cuidado com a sobrecarga de remove na lista.

Criamos uma sobrecarga que recebe a data como parâmetro.

Cuidado

Não confunda com sobrescrita (override): a sobrecarga muda a assinatura; a sobrescrita redefine o mesmo método na subclasse.

Sinônimos

overload

Veja também

Todos os termos de Java