🤔 Question
👉 스프링 프레임워크(Spring Framework)에서 AOP란 무엇일까요? AOP는 Aspect Oriented Programming, 우리말로 관점 지향 프로그래밍이라고 불립니다. 조금 어려운 말이지만, “공통으로 반복되는 일을 한 곳에 모아서 자동으로 처리하는 기술” 이라고 생각하면 아주 쉽습니다.
🎯 왜 AOP가 필요할까요?
👉 여러분이 학교에서 출석 체크, 숙제 검사, 청소 시간을 매일 반복한다고 생각해볼게요. 만약 모든 선생님이 매번 직접 출석을 부른다면 너무 번거롭겠죠? 그래서 방송으로 한 번에 출석 체크를 하면 모두 편해집니다. 프로그램도 마찬가지예요. 로그 남기기, 보안 검사, 실행 시간 측정 같은 일은 모든 기능에서 반복됩니다. AOP는 이런 반복되는 공통 작업을 한 곳에서 관리하도록 도와줍니다.
🎯 AOP를 한 문장으로 정리
👉 “핵심 기능과 공통 기능을 분리해서, 공통 기능을 자동으로 끼워 넣는 기술” 입니다.
🎯 예시로 이해해보기
👉 예를 들어, 여러분이 게임을 시작할 때마다 1️⃣ “게임 시작 로그 남기기” 2️⃣ “유저 권한 확인” 3️⃣ “실제 게임 실행” 이 순서로 항상 실행된다고 해볼게요. AOP가 없다면, 모든 게임 코드마다 1번과 2번을 계속 써야 합니다. 하지만 AOP를 쓰면 “게임 실행 전에 자동으로 로그와 권한 검사를 실행” 하도록 설정할 수 있습니다. 그래서 개발자는 게임 만들기(핵심 기능) 에만 집중할 수 있어요.
🎯 스프링 AOP에서 자주 나오는 용어
👉 AOP에는 몇 가지 중요한 단어가 있습니다. ✔ Aspect(애스펙트) : 공통 기능 모음 (예: 로그 기능) ✔ Advice(어드바이스) : 언제 실행할지 정하는 것 (예: 메서드 실행 전) ✔ JoinPoint : AOP가 끼어들 수 있는 지점 ✔ PointCut : 어느 메서드에 적용할지 선택 지금은 그냥 “자동으로 끼어드는 설정들” 이라고 이해하면 충분합니다 🙂
🎯 AOP를 쓰면 좋은 점
👉 스프링 AOP를 사용하면 다음과 같은 장점이 있습니다. ✅ 코드가 깔끔해집니다 ✅ 같은 코드 반복이 줄어듭니다 ✅ 수정이 쉬워집니다 ✅ 핵심 기능에 집중할 수 있습니다 즉, 프로그램을 더 똑똑하고 정리정돈 잘된 상태로 만들어줍니다.
☔ 정리
👉 스프링 AOP는 반복되는 공통 기능을 한 곳에 모아서 자동으로 실행해주는 기술입니다. 덕분에 개발자는 진짜 중요한 기능 만들기에만 집중할 수 있고, 프로그램은 더 깔끔하고 관리하기 쉬워집니다 😊
If I was of any help to you, please buy me coffee 😿😢😥
If you have any questions, please leave them in the comments
[2] Ads : https://apps.apple.com/us/app/beluga-classic-film-filters/id6744041061