Avatar ·

Como chamar um método Java pelo nome em string (reflexão)?

Olá a todos! Sou novo em Java e me deparei com a seguinte tarefa: tenho uma string contendo o nome de um método e preciso chamar esse método em um objeto. Por exemplo, tenho uma classe Calculator com os métodos add, subtract, multiply. O usuário digita no console o nome da operação (string "add", "subtract", etc.), e eu devo executar o método correspondente. Não quero escrever um longo switch-case ou if-else para dezenas de métodos — isso é feio e inflexível. Como fazer isso? Ouvi dizer que existe algo chamado "reflexão" (reflection), mas não entendo como aplicá-la. Meu código atual é assim: ```java public class Calculator { public int add(int a, int b) { return a + b; } public int subtract(int a, int b) { return a - b; } public int multiply(int a, int b) { return a * b; } } public class Main { public static void main(String[] args) { Calculator calc = new Calculator(); String methodName = "add"; // suponha que obtivemos da entrada // Como chamar calc.add(...