개발자 면접 질문 - AOP 정의
1. AOP - 관점을 기준으로 프로그래밍 하는 기법 - 공통 관심 사항을 구현한 코드를 핵심 로직을 구현한 코드 안에 삽입하는 것 2. 주요 용어 - Joinpoint : Advice를 적용 가능한 지점을 의미한다. (메서드 호출, 필드 값 변경 등) - Pointcut : Joinpoint의 부분 집합. 실제 Advice가 적용되는 Joinpoint를 나타낸다. - Advice : 언제 공통 관심 기능을 핵심 로직에 적용할 지를 정의한다. - Weaving : Advice를 핵심 로직 코드에 적용하는 것을 의미한다. - Aspect : 여러 객체에 공통으로 적용되는 공통 관심 사항을 의미한다. * Weaving 방식 - 컴파일시 - 클래스 로딩시 - 런타임 시 (프록시를 이용하여 AOP를 적용한다.)..