본문 바로가기
개발자 기술 면접/Spring

[Spring] AOP(Aspect Oriented Programming)란?

by se-black 2024. 1. 2.
AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)
AOP는 기능을, 핵심 관심 사항(Core Concern)과 공통 관심 사항(Cross-Cutting Concern)으로 분리시키고 각각을 모듈화 하는 것을 의미합니다.
AOP는 부가 기능을 애스펙트(Aspect)로 정의하여, 핵심 기능에서 부가 기능을 분리함으로써 핵심 기능을 설계하고 구현할 때 객체지향적인 가치를 지킬 수 있게 도와주는 개념입니다.
OOP에서 핵심 비즈니스 로직과 독립적으로 분리하기 힘든 부가 기능들을 AOP의 Aspect를 활용해 모듈화해줍니다.

※ 대표적인 예
: 로깅, 트랜잭션, 보안 등에 사용.

 

[참고]

https://dev-coco.tistory.com/81

728x90