트랜잭션 어노테이션을 보다가 AOP가 좀 더 궁금해졌다.우테톡을 아주 잘 봤다...(참고: https://www.youtube.com/watch?v=Hm0w_9ngDpM) 1. 개요AOP가 어떻게 동작하는진 둘째치고, 이게 왜 나왔는지부터 살펴봤다. 핵심은 비즈니스 로직과 그 외 부가 기능을 분리해서 관심사를 나누고, 반복되는 코드를 줄이기 위해 나온 것이라는 점이다. 비즈니스 로직, 즉 우리가 서비스 단에서 작성하는 애플리케이션 로직은 핵심 기능이다.그 외에 로깅, 시간 측정, 트랜잭션 같은 건 부가 기능으로 볼 수 있다. 다른 말로는 인프라 로직이라고 한다. 또 SRP 관점에서 보면 클래스를 바꾸는 이유는 하나여야 한다.그런데 핵심 기능을 부가 기능 때문에 건드리는 게 맞을까? 그건 아닐 것이다.또..