Dependency Injection / Inversion of Control [의존성 주입 / 제어의 역전] [NestJS]
인스턴스를 생성하지 않았는데 컨트롤러에서 어떻게 주입을 받고 어떻게 서비스에 대한 권한과 접근이 가능할까? 이는 NestJS의 가장 핵심이 되는 요소중 하나이다. 일반 인스턴스화 클래스 B 를 클래스 A에 사용해야 한다면? class A { const b = B(); } class B { } A라는 클래스를 인스턴스로 만들때마다 A 안에 클래스 B의 인스턴스를 매번 새로 생성하게 된다. DI (Dependency Injection) class A { constructor(instance: B) } class B { } B라는 클래스를 생성을 해서 constructor에 입력해준다. 이를 주입이라고 한다. 외부에서 클래스 A가 생성될 때 무조건 클래스 B에 해당되는 인스턴스를 넣어주도록 정의를 하는 것이다..
2023.12.13