[typescript] 상속과 구현을 사용하여 어떤 코드의 재사용성을 높일 수 있는가?

TypeScript에서 상속구현을 사용하여 코드의 재사용성을 높일 수 있습니다. 상속은 클래스 간의 관계를 설정하여 부모 클래스의 기능을 자식 클래스에서 사용할 수 있게 합니다. 반면에, 구현은 인터페이스를 적용하여 클래스에서 특정 메서드나 속성을 구현할 수 있도록 합니다.

상속을 사용한 코드 재사용성

클래스 간의 상속을 사용하면 부모 클래스의 속성과 메서드를 자식 클래스에서 재사용할 수 있습니다. 예를 들어, 동물 클래스가 있고, 고양이 클래스와 클래스가 동물 클래스를 상속한다면, 고양이나 개 클래스에서 동물 클래스의 특징을 그대로 사용할 수 있습니다.

class Animal {
  eat() {
    console.log("음식을 먹습니다");
  }
}

class Cat extends Animal {
  meow() {
    console.log("야옹");
  }
}

class Dog extends Animal {
  bark() {
    console.log("멍멍");
  }
}

const cat = new Cat();
cat.eat(); // "음식을 먹습니다"
cat.meow(); // "야옹"

const dog = new Dog();
dog.eat(); // "음식을 먹습니다"
dog.bark(); // "멍멍"

구현을 사용한 코드 재사용성

인터페이스 구현을 통해 클래스에서 특정 메서드나 속성을 강제할 수 있습니다. 예를 들어, 탈것 인터페이스가 있고, 자전거 클래스와 자동차 클래스가 탈것 인터페이스를 구현한다면, 각 클래스에서 인터페이스에 명시된 메서드를 구현해야 합니다.

interface Vehicle {
  move(): void;
}

class Bicycle implements Vehicle {
  move() {
    console.log("페달을 밟고 이동합니다");
  }
}

class Car implements Vehicle {
  move() {
    console.log("엔진을 가동하고 이동합니다");
  }
}

const bicycle = new Bicycle();
bicycle.move(); // "페달을 밟고 이동합니다"

const car = new Car();
car.move(); // "엔진을 가동하고 이동합니다"

상속과 구현을 통해 TypeScript에서 코드의 재사용성을 높일 수 있습니다. 상황에 맞게 적절히 사용하여 코드를 보다 모듈화하고 유지보수성을 높일 수 있습니다.

이상으로 TypeScript에서 상속과 구현을 사용하여 코드의 재사용성을 높이는 방법에 대해 알아보았습니다.

참고 자료