Métodos
Declaração, parâmetros e retorno
Métodos são blocos de código nomeados que realizam uma tarefa específica. A assinatura de um método inclui: modificador de acesso, tipo de retorno, nome e lista de parâmetros. Se o método não retorna nada, o tipo de retorno é void.
Sobrecarga de método (method overloading) permite ter vários métodos com o mesmo nome, desde que tenham parâmetros diferentes em tipo ou quantidade. O compilador escolhe qual versão chamar com base nos tipos dos argumentos — isso acontece em tempo de compilação (static dispatch).
Métodos ajudam a organizar o código em unidades reutilizáveis. O princípio DRY (Don't Repeat Yourself) diz: se você escreve o mesmo código mais de uma vez, provavelmente ele deveria ser um método. Um bom método faz exatamente uma coisa e tem um nome que descreve o que faz.
public class Calculadora {
// Retorna int, dois parâmetros int
public int somar(int a, int b) {
return a + b;
}
// Sobrecarga: mesmo nome, parâmetros double
public double somar(double a, double b) {
return a + b;
}
// Sobrecarga: três parâmetros
public int somar(int a, int b, int c) {
return a + b + c;
}
// void: não retorna, apenas executa ação
public void imprimirResultado(String op, double valor) {
System.out.printf("%s = %.2f%n", op, valor);
}
// Método com retorno condicional
public String classificar(int nota) {
if (nota >= 90) return "A";
if (nota >= 70) return "B";
if (nota >= 50) return "C";
return "F";
}
}
Calculadora calc = new Calculadora();
System.out.println(calc.somar(3, 4)); // 7
System.out.println(calc.somar(3.5, 2.1)); // 5.6
System.out.println(calc.somar(1, 2, 3)); // 6
calc.imprimirResultado("Raiz de 2", Math.sqrt(2)); // Raiz de 2 = 1,41Nomeie métodos com verbos no infinitivo: calcularArea, buscarUsuario, enviarEmail. Um método deve fazer uma coisa só — se o nome precisa de "e" (calculaEImprime), divida em dois métodos.