[데브코스] Spring Boot REST API 실습 (29강) - AOP의 진짜 의미와 바텀-업 / 탑-다운 학습 전략

zuno·2026년 1월 5일

이번 강의는 기술 하나를 배우는 느낌보다는
지금까지 배운 것들을 관통하는 사고방식을 정리해주는 강의였다.

핵심은 크게 두 가지다.

  • AOP를 왜 쓰는가?
  • 개발 공부를 어떻게 해야 효율적인가?

1️⃣ AOP란 결국 무엇인가?

AOP를 한 문장으로 정리하면 이거다.

AOP는 “룰에 의한 코드 적용”이다.

우리가 흔히 겪는 문제

예를 들어 이런 상황이 있다.

  • 모든 컨트롤러 액션 메서드 실행 시
  • 로그를 남기고 싶다
log.info("메서드 실행");

이걸 모든 메서드에 직접 넣는다면?

  • 코드 중복 발생
  • 실수로 빼먹을 가능성
  • 유지보수 지옥

2️⃣ AOP가 해결해주는 방식

AOP는 이렇게 생각하면 된다.

이 코드가 언제, 어디서 작동해야 하는지 규칙을 정해두자

  • 실제 비즈니스 로직에는 집중
  • 공통 관심사(로깅, 트랜잭션, 응답 처리)는 분리

예시: 로깅

  • 함수가 실행될 때마다 로그를 남기고 싶다
  • 그럼?
    • 로그 코드를 함수마다 쓰지 않는다
    • AOP 코드 하나를 만들고
    • “어디에 적용할지 룰만 정의한다”

이게 AOP의 본질이다.


3️⃣ AOP 사용 방식: 간접 사용 vs 직접 사용

스프링에서 AOP는 두 가지 방식으로 사용된다.

AOP 사용 방식 비교

구분간접 사용직접 사용
예시@Transactional, @Cacheable@Aspect
사용법어노테이션만 붙이면 자동 적용직접 AOP 로직 구현
복잡도낮음높음
유연성제한적매우 높음
재사용성높음낮음
학습 곡선낮음높음
적용 범위미리 정의된 기능커스텀 기능

4️⃣ 간접 AOP 사용의 장점

  • 간단한 설정으로 복잡한 기능 구현
  • 스프링에서 이미 검증된 안정적인 기능
  • 코드 가독성 향상

대표적인 예:

@Transactional
@Cacheable

👉 “왜 되는지는 몰라도, 일단 안전하게 쓸 수 있다”


5️⃣ 직접 AOP 사용의 장점

  • 완전한 커스터마이징 가능
  • 특정 비즈니스 로직에 최적화된 처리
  • 세밀한 제어 가능

대표적인 예:

@Aspect
public class ResponseAspect {
    ...
}

👉 “내가 원하는 타이밍에, 내가 원하는 로직을 실행”


6️⃣ 핵심 정리 — 언제 직접 AOP를 써야 할까?

  • 대부분의 경우
    • 간접 AOP 사용 (@Transactional 등)
  • 정말 필요할 때만
    • 직접 AOP 구현

👉 직접 AOP는 강력하지만 비용이 크다


7️⃣ 29강의 진짜 핵심: 공부 방법 이야기

이 강의에서 가장 인상 깊었던 부분은
공부 방법에 대한 조언이었다.

핵심 문장

정말 핵심적인 1%는 바텀-업으로,
나머지 99%는 탑-다운으로 공부하자


8️⃣ 바텀-업 공부법 (Bottom-Up)

정의

기초부터 차근차근 쌓아올리는 학습 방식

특징

  • 기본 개념 → 복잡한 개념
  • 단계별 이해
  • 실습 중심

장점

  • 견고한 기초
  • 개념 간 연결 명확
  • 문제 발생 시 원인 파악 가능

단점

  • 시간이 오래 걸림
  • 전체 그림 파악이 늦음

적합한 분야

  • 프로그래밍 언어 문법
  • 알고리즘 / 자료구조
  • 수학, 컴퓨터 기초

9️⃣ 탑-다운 공부법 (Top-Down)

정의

전체 구조를 먼저 이해하고 세부로 내려가는 방식

특징

  • 큰 그림부터 시작
  • 실무 중심 접근
  • 필요할 때 기초 복습

장점

  • 빠른 실무 적용
  • 시스템 전체 흐름 이해
  • 학습 동기 유지 쉬움

단점

  • 기초가 약해질 수 있음
  • 깊은 이해 부족 가능

적합한 분야

  • 프레임워크 (Spring, JPA)
  • 실무 프로젝트
  • 새로운 기술 스택

🔟 추천 학습 전략 (강의 요약)

핵심 1% → 바텀-업

  • 자바 문법
  • SQL 기초
  • JPA 어노테이션 의미
  • 트랜잭션 개념

나머지 99% → 탑-다운

  • API 사용법
  • 라이브러리 활용
  • 실무 패턴

✍️ 마무리 느낀 점

이번 강의는
“AOP를 이렇게 써라” 보다는

왜 이런 구조가 나왔는지
어디까지 깊게 파고, 어디서 멈춰야 하는지

를 알려준 강의였다.

모든 걸 다 바텀-업으로 파려고 하면 지치고,
모든 걸 탑-다운으로만 보면 얕아진다.

핵심만 깊게, 나머지는 빠르게.

이 기준이 앞으로 공부할 때
가장 큰 나침반이 될 것 같다.

0개의 댓글