반응형
답변
AOP(Aspect-Oriented Programming)는 횡단 관심사(cross-cutting concerns)를 모듈화하여, 비즈니스 로직과 분리함으로써 코드의 재사용성과 유지보수성을 높이는 프로그래밍 패러다임입니다. 스프링에서 AOP는 주로 로깅, 보안, 트랜잭션 관리와 같은 공통 기능을 애플리케이션의 주요 비즈니스 로직과 분리하기 위해 사용됩니다. 이를 통해 코드의 중복을 줄이고, 핵심 비즈니스 로직에 집중할 수 있습니다. 스프링 AOP는 @Aspect와 @Before, @After, @Around와 같은 애노테이션을 사용하여 특정 메서드나 클래스의 실행 전후에 특정 로직을 자동으로 실행할 수 있도록 설정할 수 있습니다. AOP는 주로 프록시 패턴을 사용하여 이러한 기능을 구현합니다.
스프링 AOP는 런타임 시에 프록시 객체를 생성하여 AOP 기능을 적용합니다. AOP의 핵심 개념에는 어드바이스(Advice), 조인포인트(Join Point), 포인트컷(Pointcut), 애스펙트(Aspect) 등이 있으며, 이를 통해 개발자는 비즈니스 로직을 간결하게 유지하면서도 부가적인 기능을 쉽게 추가할 수 있습니다. AOP는 코드의 가독성과 유지보수성을 높이는 데 중요한 역할을 합니다.
연결 질문
- AOP에서 포인트컷(Pointcut)이란 무엇인가?
- 답변: 포인트컷(Pointcut)은 AOP에서 특정 조인포인트를 선택하는 표현식입니다. 이를 통해 어떤 메서드에 어드바이스를 적용할지 정의할 수 있습니다.
- 스프링에서 @Aspect 애노테이션은 어떤 역할을 하는가?
- 답변: @Aspect 애노테이션은 클래스를 AOP 애스펙트로 선언하는 데 사용됩니다. 이를 통해 해당 클래스가 AOP 기능을 제공하는 클래스로 인식됩니다.
- AOP에서 조인포인트(Join Point)란 무엇인가?
- 답변: 조인포인트(Join Point)는 애플리케이션 실행 중에 어드바이스가 적용될 수 있는 특정 시점입니다. 일반적으로 메서드 호출이나 예외 발생 시점이 조인포인트가 됩니다.

반응형
'Backend' 카테고리의 다른 글
| 브라우저에서 구글에 접속했을때 일어나는 일? (0) | 2024.09.01 |
|---|---|
| Backend(Spring) 면접 전 체크할 기본질문 10가지 (1) | 2024.08.17 |
| 스프링의 의존성 주입(Dependency Injection)이란 무엇이며, 어떤 방식으로 구현할 수 있는가? (0) | 2024.08.15 |
| 스프링 빈(BEAN)이란 무엇이며, 컨테이너는 어떻게 빈을 관리하는가? (0) | 2024.08.15 |
| 러스트로 서비스를 개발하는 것은 어떠한가? (0) | 2024.08.15 |