Dependency Injection이란 무엇일까?
Dependency Injection, 객체지향 프로그래밍을 하다보면 한번 쯤 듣게 되는 용어중 하나인데요. 이번 글에서는 의존성 주입이 무엇이고 어떤 배경으로 생겨난 개념인지, 왜 필요한지에 대해 간단히 정리해보려고 합니다. 문제점 개발을 하다보면 코드에 의존성이 생기기 마련입니다. 그럼 의존성은 무엇이고, 왜 생겨나는 걸까요? 아래의 코드를 봐주세요. 위 코드와 같이 클래스에서 함수가 호출되기 위해서는 클래스를 필요로 합니다. 이것을 Programmer 클래스는 Coffee 클래스의 의존성을 가진다 라고 합니다. 이와 같이 코드를 설계하였을 때, 코드의 재활용성이 떨어지고, 위 예제에서 클래스가 수정 되었을 때, 클래스도 함께 수정해줘야하는 문제가 발생합니다. 즉, 결합도(coupling)가 높아지게 됩니다. DI(의존성 주입)를 해야 하는 이유 DI로 프로그램을 설계 했을 때, 다음과 같은 이점을 얻을 수 있습니다. Unit Test가 용이해진다. 코드의 재활용성을 …