본문 바로가기

학습 기록/스프링 부트3 백엔드 개발자 되기[자바편]

[02장.2] 3. 관점 지향 프로그래밍(AOP)

관점 지향 프로그래밍(AOP; Aspect Oriented Programming)이란?

: 프로그래밍에 대한 관심을 핵심 과점, 부가 관점(공통 기능)으로 나누어 관심 기준으로 모듈화 하는 것

 

핵심 관심 사항(Core concern)

: 비즈니스 로직(애플리케이션의 주목적)을 달성하기 위한 핵심 로직에 대한 관심사

 

부가 관심 사항(Cross-cutting concern)

: 애플리케이션 전반에 걸쳐 공통적으로 사용되는 관심사

 

예시)

계좌 이체 프로그램 - (핵심 관점) 계좌 이체, (부가 관점) 로깅, 데이터베이스 연결

고객 관리 프로그램 - (핵심 관점) 고객 관리, (부가 관점) 로깅, 데이터베이스 연결

이에 AOP 관점을 적용하여 부가 관점 로직을 모듈화 할 경우,

부가 관점 코드를 핵심 코드에서 분리할 수 있으며 핵심 관점 코드에만 집중할 수 있을 뿐 아니라 변경과 확장에도 유연하게 대응 가능

 

더 자세한 사항은 아래 링크 참고

2022.10.11 - [공부 자료/Spring] - [Spring Core] AOP (Aspect Oriented Programming)

 

[Spring Core] AOP (Aspect Oriented Programming)

AOP(Aspect Oriented Programming)란? : OOP(Object Oriented Programming)은 객체지향 프로그래밍 즉, 객체 간의 관계를 지향하는 프로그래밍 방식 : Aspect(관심)을 지향하는 프로그래밍은 애플리케이션에 필요한 기

kcode-recording.tistory.com