1. IoC (Inversion of Control)

1️⃣ 정의

IoC란 객체의 생성, 의존성 연결, 생명주기 제어 권한이 개발자에서 Spring Container로 넘어간 것을 의미합니다.

“제어의 흐름이 뒤집혔다”


2️⃣ 기존 Java 방식의 제어 흐름

OrderService service = new OrderService(new MemberRepository());

👉 강한 결합


3️⃣ Spring에서의 제어 흐름

@Service
class OrderService {
    private final MemberRepository repo;

    public OrderService(MemberRepository repo) {
        this.repo = repo;
    }
}

👉 이것이 IoC


2. Spring Container

1️⃣ 정의

Spring Container란 Bean을 생성·관리·연결·소멸까지 담당하는 객체 관리 컨테이너입니다.