리플렉션 Java가 제공하는 JDK 동적 프록시, CGLIB같은 프록시 생성 오픈소스를 사용하면 프록시 객체를 동적으로 만들어낼 수 있다. 하나의 대상 클래스를 위해 프록시 클래스를 계속 만들지 않아도된다! 먼저 Java의 리플렉션에 대해 알아야하는데, 리플렉션을 사용하면 클래스나 메서드의 메타 정보를 동적으로 획득하고 코드도 동적으로 호출할 수 있다. 위와 같이 callA, callB 메서드를 가지고 있는 정적 클래스가 있다. 이 메서드를 호출하고 싶을 때 우리는 대부분 아래와 같이 코드를 짠다. 객체 생성 -> 호출 이 방식은 소스 코드에 명시적으로 작성되어있기 때문에 정적이라고 말할 수 있다. 이 자바 코드는 클래스 단위로 컴파일되어 바이트 코드가 되는데 이 바이크 코드를 조작하는 방법이 바로 리플..