비유로 설명하기 의존성 주입을 비유하자면, 한 식당의 주방을 운영하는 상황이라고 생각해보세요. 주방장(Chef)은 요리를 만듭니다.
주방 도구(예: 칼, 냄비, 프라이팬)가 필요한데, 주방장이 직접 도구를 골라서 사온다면 많은 시간이 걸리겠죠. 대신, 매니저가 필요한 도구(의존성)를 미리 준비해 주방장에게 전달해준다고 생각해보세요.
그러면 주방장은 요리에만 집중할 수 있습니다. 여기서 매니저가 바로 의존성 주입 시스템의 역할을 합니다.
코드로 설명하기 1. 의존성이 없는 경우 아래는 의존성 주입을 사용하지 않은 예제입니다: public class Chef { private Knife _knife; public Chef() { _knife = new Knife(); // Chef가 직접 Knife를 생성 (의존성 있음) } public void Cook() { _knife.Cut(); } } public class Knife { public void Cut() { Console.Wri...
원문 링크 : 의존성 주입(Dependency Injection)