본문 바로가기
Java

스프링 핵심 개념 2 : AOP (관점 지향 프로그래밍)

by yapdol 2023. 8. 12.

 

 

 

 

 

✅ AOP (Aspect Oriented Programming) 개념

: AOP는 관점 지향 프로그래밍를 의미하며, OOP (Object-Oriented Programming)을 보완하는 개념이다. AOP는 핵심 관점과 부가관점(로깅, 트랜잭션, 보안 등)을 분리하여 개발하는 방법을 말한다. 기존의 OOP(객체 지향 프로그래밍)은 클래스를 중심으로 코드를 구조화하는 반면, AOP는 "관심사"를 중심으로 코드를 구조화합니다.

 

 


✅ AOP 예시

위 그림으로 예를 들어보자면,  핵심 관점은 계좌이체/고객관리 로직이고, 부가 관점은 로깅/데이터베이스 연결 로직이다. 

 


✅ AOP 장점

AOP를 통해 핵심관점과 부가관점으로 분리하면, 개발자는 핵심 관점 코드에만 집중할 수 있게 되고, 프로그램 변경과 장에도 유연하게 대응할 수 있게된다.

 

 

 

 

🌈 오늘 배운것 정리 🌈

AOP(관점지향 프로그래밍)와 OOP(객체지향 프로그래밍)는 반대되는 개념으로 , AOP는 관심사(관점)을 중심으로 핵심 관점과 부가 관점을 분리하여 개발하는 방법이다.  개발자들은 AOP를 통해 핵심 관점 코드에만 집중할 수 있게 된다.

 

 

 

 

 

 

 

 

 

 

출처: 스프링 부트 3 백엔드 개발자 되기: 자바 편

https://product.kyobobook.co.kr/detail/S000201766024

 

스프링 부트 3 백엔드 개발자 되기: 자바 편 | 신선영 - 교보문고

스프링 부트 3 백엔드 개발자 되기: 자바 편 | ★ 자바 백엔드 개발자가 되고 싶다면 ★ 자바 언어 입문 그다음에 꼭 보세요실력을 갖춘 개발자로 성장하려면 시작이 중요합니다. 그래서 이 책은

product.kyobobook.co.kr