의존성 주입 예시
class Engine {
start() {
console.log("Engine started");
}
}
class Car {
constructor(private engine: Engine) {}
start() {
this.engine.start();
console.log("Car started with engine");
}
}
// 의존성을 주입하는 외부 코드
const engine = new Engine();
const car = new Car(engine);
car.start();
의존성 미주입 예시
class Engine {
start() {
console.log("Engine started");
}
}
class Car {
private engine: Engine;
constructor() {
this.engine = new Engine(); // Engine 인스턴스를 내부에서 직접 생성
}
start() {
this.engine.start();
console.log("Car started with its own engine");
}
}
// Car 인스턴스 생성
const car = new Car();
car.start();