[Spring] 동적 프록시 기술(1) - 리플렉션
로깅등의 부가 처리 기능을 위해 프록시 클래스를 매번 만들기엔, 적용 대상 클래스 수 만큼 프록시 클래스를 만들어야 하는 문제가 있다. 로그 추적을 위한 프록시 클래스의 소스코드는 거의 같은 모양을 하고 있다. 같은 모양의 클래스를 여러개 만드는 것은 비효율적일 뿐더러 SRP 원칙을 위배하기 때문에, 동적 프록시 기술을 활용하여 이 문제를 점진적으로 해결해보자. 리플렉션 이란? 객체를 통해 클래스의 메타정보를 분석하는 프로그램 기법을 의미한다. 투영, 반사라는 사전적 의미를 가지는데, 클래스의 메타정보를 투영한다고 이해하면 된다. 그럼 뭐하러 굳이 객체를 통해 클래스의 정보를 알아내야할까? 구체적인 클래스의 타입을 알지 못해도, 해당 클래스가 가지고 있는 메소드, 타입, 변수 등에 접근해야 할 경우가 있..
2022.06.02