Java 공부를 하다 보면 어느 순간 반드시 만나게 되는 개념이 있다.👉 Reflection처음 들으면 이름부터 어렵다.그리고 보통 설명도 이렇게 나온다.런타임에 클래스 정보를 분석하는 기능처음 보는 사람 입장에서는:"그래서 정확히 뭘 할 수 있다는 건데?"싶어진다.근데 Reflection은:✔ Spring✔ JPA✔ Lombok✔ Jackson✔ Mockito✔ 테스트 프레임워크같은 거의 모든 Java 프레임워크 내부에서 사용되는 핵심 기술이다.실무에서도 엄청 중요하다.왜냐면:객체를 동적으로 제어할 수 있기 때문이다.오늘은 Reflection이 무엇인지 초보자도 이해할 수 있게 쉽게 정리해보겠다.Reflection 이란?👉 실행 중(Runtime)에 클래스 정보를 분석하고 조작하는 기술쉽게 말하면:..
자바에서 리플렉션(Reflection) 쓰다 보면, 처음 보는 형태의 예외를 만나게 된다.👉 InvocationTargetException이건 다른 예외들이랑 좀 다르게,"진짜 원인을 감싸고 있는(wrapper) 예외" 라서 초보 때 많이 헷갈린다.InvocationTargetException 이란?👉 "리플렉션으로 메서드를 호출하는 과정에서, 내부에서 발생한 예외를 감싸는 예외"핵심은 이거다:✔ 직접 발생한 게 아니라✔ 다른 예외를 감싸서 전달하는 역할가장 기본적인 예제import java.lang.reflect.Method;class Test { public void run() { throw new RuntimeException("진짜 에러 발생!"); }}public cl..
자바에서 리플렉션(Reflection) 쓰다 보면 한 번쯤 만나게 되는 예외가 있다.👉 NoSuchMethodException일반적인 코드에서는 잘 안 나오는데,리플렉션 / 프레임워크 / 라이브러리 사용 중에 자주 터지는 예외다.NoSuchMethodException 이란?👉 "존재하지 않는 메서드를 찾으려고 할 때 발생하는 예외"즉,✔ 클래스에는 없는 메서드 이름을 찾거나✔ 파라미터 타입이 일치하지 않을 때발생한다.가장 기본적인 예제import java.lang.reflect.Method;public class Main { public static void main(String[] args) throws Exception { Class clazz = String.class; ..