산 넘어 산 개발일지

제어 역전(Inversion of Control, IoC) 본문

Study/용어

제어 역전(Inversion of Control, IoC)

Mountain96 2020. 4. 10. 00:59

우리는 평소 코딩을 할 때 라이브러리에서 가져온 코드를 가져와서 사용한다.

이처럼 라이브러리는 우리가 제어권을 가지고 호출해서 사용하는 대상이다.

 

제어역전은 우리의 제어권을 외부에 넘겨주고 외부에서 우리 코드르 호출하게 하는 방식이다.

대표적인 예가 바로 프레임워크다.

 

프레임워크는 이미 다른 개발자들에 의해 수많은 코드, 특히 추상 클래스와 인터페이스들로 구현되어 있고 이를 사용하는 방법도 정해져 있다. 이를 사용하는 개발자들은 그저 이 방법을 익히고 프레임워크에서 만들어져 있는 클래스를 상속하거나 인터페이스를 구현함으로써 프레임워크의 틀에 맞게 작동시킨다.

여기서 중요한 점은 우리가 프레임워크의 코드를 호출하는 것이 아니라 프레임워크가 우리의 코드를 호출해서 사용한다는 것이다.

즉 제어권이 우리가 아닌 프레임워크에 있는 것이다. 이를 제어역전(Inversion of Control)이라고 한다.

 

 

Comments