inblog logo
|
devleekangho
    용어정리

    관점 지향 프로그래밍 (AOP, Aspect-Oriented Programming)

    KangHo Lee's avatar
    KangHo Lee
    Nov 21, 2024
    관점 지향 프로그래밍 (AOP, Aspect-Oriented Programming)
    💡
    프로그램의 여러 부분에 공통적으로 적용되는 관심사를 모듈화하여 코드의 재사용성을 높이고 유지 보수성을 향상시키기 위한 프로그래밍 패러다임입니다.

    주요 개념

    1. Aspect (관점):
        • 횡단 관심사(Cross-Cutting Concern)를 모듈화한 단위입니다.
        • 예를 들어, 로깅, 보안, 트랜잭션 관리 등이 Aspect로 구현될 수 있습니다.
    1. Join Point (조인 포인트):
        • 프로그램 실행 중 특정 지점을 나타냅니다.
        • 메서드 호출, 예외 발생, 필드 접근 등이 조인 포인트에 해당합니다.
    1. Advice (어드바이스):
        • 특정 조인 포인트에서 실행되는 코드입니다.
        • 실행 시점에 따라 Before, After, Around 등으로 구분됩니다.
    1. Pointcut (포인트컷):
        • 어드바이스가 적용될 조인 포인트를 지정하는 표현식입니다.
        • 특정 메서드나 클래스에 어드바이스를 적용할 지점을 지정합니다.
    1. Weaving (위빙):
        • Aspect와 애플리케이션 코드가 결합되는 과정입니다.
        • 컴파일 타임, 로드 타임, 런타임에 이루어질 수 있습니다.
    💡
    AOP의 어려운 점 → 관점에 따라 공통적으로 적용되는 관심사를 실행하는 코드가 조금씩 달라야 합니다. (완전히 같은 코드라면 인터셉터, 필터가 더 좋습니다.)
     
    Share article

    devleekangho

    RSS·Powered by Inblog