# AOP가 필요한 상황
- 만약 모든 메소드의 호출 시간을 측정하고 싶다면?
- `공통 관심 사항(cross-cutting concern)` vs `핵심 관심 사항(core concern)`
- 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면?
- 즉, `공통 관심 사항`과 `핵심 관심 사항`을 분리해서 적용하고 싶을 때 사용한다.

---

## 추가설명
- 실제 운영에서는 처음에 서버를 올리고 이것저것 호출하는 `warmUp`이라는 것을 한다.

---

## 문제
- 회원가입, 회원 조회에 시간을 측정하는 기능은 `핵심 관심 사항(핵심 비즈니스 로직)`이 아니다.
- 시간을 측정하는 로직은 `공통 관심 사항(공통 비즈니스 로직)`이다.
- 시간을 측정하는 로직과 `핵심 비즈니스의 로직`이 섞여서 유지보수가 어렵다.
- 시간을 측정하는 로직을 별도의 공통 로직으로 만들기 매우 어렵다.
- 시간을 측정하는 로직을 변경할 때 모든 로직을 찾아가면서 변경해야 한다.

---