Advice를 Weaving 하는 방식 컴파일 시에 Weaving 클래스 로딩 시에 Weaving 런타임 시에 Weaving 컴파일 시에 Weaving 컴파일 시에 코드를 삽입하는 방법은 AspectJ에서 사용하는 방식이다. 핵심 로직을 구현한 코드를 컴파일할 때, 알맞은 위치에 공통 코드를 삽입하면, 컴파일 결과 AOP가 적용된 클래스 파일이 생성된다. 이 방식에서는 AOP를 도와주는 컴파일러나 IDE를 함께 제공한다. 클래스 로딩 시에 Weaving AOP 라이브러리는 JVM이 클래스를 로딩할 때 클래스 정보를 변경할 수 있는 에이전트를 제공한다. 이 에이전트는 로딩한 클래스의 바이너리 정보를 변경하여 알맞은 위치에 공통 코드를 삽입한 새로운 클래스 바이너리 코드를 사용하도록 한다. 즉 원본 클래스 ..