topic난이도 · 약 15

프레임워크 — IoC · DI · AOP

객체 생명주기를 프레임워크가 제어(IoC), 의존성은 주입(DI), 횡단 관심사는 분리(AOP).

#프레임워크#IoC#DI#AOP
왜 배우는가

IoC ⊃ DI 관계를 묻는 단답·OX가 정답률 50% 미만으로 매회 함정. 또한 AOP의 구성 요소(Advice/Pointcut/JoinPoint)를 묻는 문제가 2022년 이후 증가. Spring의 DI 컨테이너 개념은 실기 빈칸 채우기로도 출제된다.

프레임워크(Framework)는 Inversion of Control을 구현한 골격이다. 개발자는 비즈니스 로직만 작성하고, 객체 생성·의존성 연결·호출 타이밍은 프레임워크가 결정한다. 이 "결정권의 역전"이 라이브러리와의 결정적 차이.

IoC vs DI — IoC(Inversion of Control)는 상위 개념(제어 흐름 역전). DI(Dependency Injection)는 IoC의 구현 방식 중 하나. 즉 IoC ⊃ DI. 시험에서 "IoC = DI"로 동일시하는 오답 선지가 단골.

개념역할대표 기술
IoC객체 생성·생명주기 제어 역전Spring Container
DI의존 객체를 외부에서 주입생성자/Setter/필드 DI
AOP횡단 관심사(로깅·트랜잭션) 분리Spring AOP, AspectJ

AOP 5 용어 — ① Aspect: 횡단 관심 모듈 ② Advice: 실행 코드(Before/After/Around) ③ JoinPoint: 적용 지점(메서드 호출 등) ④ Pointcut: JoinPoint 선택 표현식 ⑤ Weaving: Aspect를 대상 객체에 결합.

주요 프레임워크Spring(Java, DI·AOP 표준), Struts(Java, MVC), 전자정부 프레임워크(한국 정부 공공 표준, Spring 기반). 프런트엔드는 React·Vue·Angular. 시험은 Java 프레임워크 중심.

실기 드릴 3문항
edit실기 드릴 · 단답형

객체 생성과 생명주기 관리를 개발자가 아닌 프레임워크가 담당하는 원칙의 영문 약어는?

check_circle실기 드릴 · OX

IoC와 DI는 동일한 개념이다.

space_bar실기 드릴 · 빈칸 채우기

AOP에서 실제 실행 코드를 ( ㉠ ), 적용 지점 선택 표현식을 ( ㉡ )이라고 한다.