CGLib

    [Java] 동적 프록시 (JDK 동적 프록시, CGLIB)

    [Java] 동적 프록시 (JDK 동적 프록시, CGLIB)

    JDK 동적 프록시 인터페이스 기반으로 프록시를 동적으로 만들어 사용하기 때문에 인터페이스가 필수이다. 자바에서는 리플렉션을 사용해 proxy 클래스를 제공해주고 있다.  리플렉션(Refliction)이란 구체적인 클래스 타입을 알지 못해도 그 클래스의 메서드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API 이다. 사용 시기는 동적으로 클래스를 사용해야할 때 사용하는데 작성 시점에는 어떤 클래스를 사용할지 모르지만 런타임 시점에 가져와 실행해야하는 경우에 필요하다. 단점은 메서드에 값이 잘못 입력 되어도 컴파일 오류가 발생하지 않고 해당 코드를 직접 실행하는 시점에 런타임 오류가 발생해서 그때 오류를 알 수 있다. 이러한 이유로 리플렉션을 잘 사용하지 않고, 만약 사용하게 된다면 공통 처리가 필요..