Aspect Oriented Programming : 관점지향프로그램 OOP의 단점을 보완하기 위해 생겼음. 모듈을 분리하는 것이 관건! 횡단관심 : 공통된(중복) 모듈 핵심관심 : 핵심 Proxy(AspectJ) : 두 모듈을 실행 필요한시점(Point cut)에 원하는 위치(Joinpoint)에서 합치는 것 회원가입의 예) 정보를 입력해서 DB 저장 : 핵심코드 DB에 정상적으로 저장되었다는 것을 기록하고 싶다 : 횡단 관심 → (핵심가치는 아님) AspectJ의 AOP 기능 JVM이 실행할 대 컴파일러가 AspectJ라는 특별한 컴파일러를 통해 Weaving작업을 통해 합쳐짐(핵심 관심 모듈 사이사이에 Aspect 형태로 만들어진 횡단 관심 코드를 삽입해서 Aspect가 적용된 결과를 만듬.) 핵심..