<aside> 💡
JDK Dynamic Proxy는 Java의 표준 라이브러리를 사용해 인터페이스 기반의 프록시 객체를 생성하는 방법
</aside>
런타임에 프록시 클래스가 동적으로 생성됨.
| 항목 | 설명 |
|---|---|
| 동작 시점 | 런타임 (실행 중 동적으로 생성됨) |
| 대상 | 반드시 인터페이스를 구현한 객체여야 함 |

JDK 동적 프록시는 인터페이스 기반으로 프록시 객체를 생성함
⇒ Target 객체의 구현체 클래스에 대해 알지 못함
따라서, 위와 같은 경우 JDK Proxy는 MemberServiceImpl을 알지 못함

JDK Proxy를 구현체로 캐스팅할 경우에는 예외가 발생함
⇒ 구현체 클래스로 의존관계 주입이 될 수 없다는 단점
물론 DI는 주로 인터페이스 기반으로 주입받기 때문에, 실제 구체 클래스를 선언하는 경우가 없어서 문제가 없을 가능성이 있음.
⇒ 그러나 테스트, 또는 AOP가 적용된 프록시가 구체 클래스를 직접 의존 관계를 받아야하는 경우가 있을 수 있음