AOP

Aspect Oriented Programming Language 관점 지향 프로그래밍 언어

일반적으로 사용하는 클래스(service, Dao)에서 중복되는 공통 코드 부분을 별도의 영역으로 분리

코드가 실행되기 전이나 이 후의 시점에 해당 코드를 붙여 넣음으로써 소스 코드의 중복을 줄이고 필요할 때마다 가져다 쓸 수 있게 객체화하는 기술

OOP의 확장판 즉, 객체지향 프로그램의 확장판 → Object Oriented Programming Language

Untitled

핵심 관점(Primary Concern)

횡단 관점(Cross Cuttiong Concern)

Aspect(관점)이란?

Advice(실행될 메소드) + PointCut(실행하고자 하는 대상 혹은 적용하고자 하는 대상)

Untitled

[ 관련 용어 ]

advice → 횡단 관점에서 보았을 때 공통적으로 사용되는 서비스 혹은 method

joinPoint → advice가 주요 관심사 코드에 들어갈 수 있는 부분