Java/Orientação a Objetos/Métodos
Java⏱ ~2 min de leitura

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.

Exemplo.java
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,41
💡 Dica pro

Nomeie 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.

Recompensa+35 XP+exercícios