AOP랑 OOP랑 뭐가 다르지?
·
Programming
AOP란?Aspect Oriented Programming은 횡단 관심사(Cross-Cutting Concern)의 분리를 허용함으로써 모듈성을 높이는 것을 목적으로 하는 프로그래밍 패러다임이다. AOP를 사용하면 여러 객체에 공통적으로 적용되는 기능(예: 로깅, 보안, 트랜잭션 관리 등)을 핵심 로직에서 분리하여 별도의 모듈(Aspect)로 관리하게 된다. 이를 통해 개발자는 반복적인 공통 기능을 매번 구현할 필요가 없어지고, 핵심 비즈니스 로직 개발에 집중할 수 있다. 예시를 들어 설명하기 위해서 여러 할인 정책이 있고, 오류 추적을 위해 로깅을 추가했다고 하자. 처음엔 FixedDiscountPolicy에 단순히 System.out.println을 위·아래로 넣어 처리했다.public class ..