[Reflection(API)에 대해서❓]
구체적인 클래스 타입을 알지 못해도 그 클래스의 정보(메소드, 타입, 변수 등)에 접근할 수 있게 해주는 자바 기법
클래스 타입을 알려주지 않아도 그 클래스 멤버에 접근할 수 있게 도와주는 Java API
단점
런타임 시점에서만 문제 발생
사용 예시
Spring Container, intellij 자동완성, Jackson, hibernate
어떤 방식
JVM 실행 시, 자바 코드 -> 컴파일러 -> 바이트 코드 -> static 영역
static 영역에서 '클래스 이름'을 가지고 뒤져서 멤버를 가져옴!
유일하게 못 가져오는 정보 : 생성자 파라미터
사용 이유
개발자가 어떤 클래스를 만들지 예측 불가능, 코드가 static영역에 올라와야 예측 가능
JPA가 오류날때, 안날때?
find: JPA가 객체를 생성 <- 주로 오류 발생
save: 우리가 객체를 생성