프레임워크와 라이브러리 차이

프레임워크

프로그램의 진행 흐름을 개발자가 제어하는 것이 아니라 **프레임워크 자체에서 제어(IOC)**한다.

라이브러리

프로그램의 진행 흐름을 개발자가 제어할 수 있다.


제어의 역전(IOC)

기존 개발 방식에서 개발자가 흐름을 제어하는 것이 아니라 **프레임워크 자체에서 흐름을 제어**하는 것이다.

IOC와 DI의 차이

IOC와 DI를 같은 개념으로 오해할 수 있는데 절대 아니고 **DI는 IOC를 구현하기 위한 방법 중 하나**일 뿐이다.

요약 → **IOC라는 원칙을 구현하기 위해 DI라는 패턴을 사용**하는 것이다.

Untitled


IOC를 구현하는 방법

IOC를 구현하는데 여러 가지 방법이 있지만 주로 아래와 같은 방법을 사용한다.

Factory 패턴

객체 생성을 전담하는 팩토리 클래스를 두어 객체 생성하는 방식