[심화] 11. Reflection 예제

백하림's avatar
Jul 25, 2025
[심화] 11. Reflection 예제
package ex02; // B 개발자가 만든 것 public class UserController { public void login(int n1, String s1) { System.out.println("login 호출 됨"); } public void join() { System.out.println("join 호출 됨"); } public void logout() { System.out.println("logout 호출 됨"); } }
package ex02; import java.lang.reflect.Method; import java.lang.reflect.Parameter; // A 개발자가 만든 것 public class App { public static void main(String[] args) { String path = "/login"; Method[] methods = UserController.class.getDeclaredMethods(); for (Method method : methods) { System.out.println(method.getName()); if (method.getName().equals("login")) { int paramCount = method.getParameterCount(); System.out.println(paramCount); Parameter[] params = method.getParameters(); for (Parameter param : params) { System.out.println(param.getName()); System.out.println(param.getType()); } } } } }
notion image
🔥

getDeclaredAnnotation()이란?

getDeclaredAnnotation(어노테이션) →
"메서드 위에 붙어있는 이 어노테이션만 찾아줘!"
🔥
Annotation anno = method.getDeclaredAnnotation(RequestMapping.class); RequestMapping rm = (RequestMapping) anno;
RequestMapping 어노테이션을 찾아서 anno 에 넣고 그걸 RequestMapping 타입으로 다운캐스팅한 것
Share article

harimmon