------------------- 현재 수정중 -------------------
- [Spring]IoC와 DI를 이해해보자
- DI에 대한 장점
- 코드로 표현하기
## 의존 관계 주입이라고 말할 수 있다.
IoC란 Inversion Of Control
일반적인 Java 객체를 new로 생성하여 개발자가 관리하는 것이 아닌 Spring Container에게 모두 맡기는 것이다. (spring Container에서 관리하는 객체를 Bean이라고 부른다.)
즉, 개발자에서 -> 프레임워크로 제어의 객체 관리의 권한이 넘어 갔음 으로 "제어의 역전" 이라고 한다.
DI란 Dependency Injection
"객체를 사용하기 위해 주입을 받는다." 이말로 표현할 수 있다.
- 의존성으로 부터 격리시켜 코드 테스트에 용이하다.
- DI를 통하여, 불가능한 상황을 Mock와 같은 기술을 통하여, 안정적으로 테스트가 가능하다.
- (추상화) 코드를 확장하거나 변경 할 때 영향을 최소화 한다.
- 순환참조를 막을 수 있다.