IoC란
[Spring] IoC(Inversion of Control) - 제어의 역전 이란?
스프링 프레임워크(Spring Framework) 하면 또 빼놓을 수 없는 단어가 DI, IoC가 아닐까 싶은데요! IoC는 스프링 뿐만 아니라 다른 프레임워크에서도 사용되는 범용적인 개념입니다. 왜 IoC라는게 생겼을까요? 무엇을 제어하고 왜 역전이 필요한것일까요? 천천히 한번 알아봅시다. 여기서 제어는 무슨뜻인가요? 여기서 제어라는건 "객체에 대한 주도권을 가지고 있다"라고 생각하셔도 될 것 같습니다. 자바는 객체지향 프로그래밍 언어이고, 모든 객체는 생명주기(Life Cycle - 객제가 생성된 후 부터 폐기될 때까지의 기간) 를 가지고 있습니다. 일반적으로 프레임워크를 사용하지 않는다면, 자바 프로그램은 main() 메소드에서 시작해서 개발자가 미리 정한 순서를 따라 실행됩니다. 따라서 언제 객체..