[typescript] 타입스크립트에서 클래스 상속과 인터페이스 구현을 어떻게 사용하는가?

타입스크립트는 클래스 상속과 인터페이스 구현을 지원하여 객체 지향 프로그래밍을 더욱 효과적으로 할 수 있게 합니다.

클래스 상속

클래스 상속은 기존 클래스를 확장하여 새로운 클래스를 만드는 방법입니다. 예를 들어, Animal 클래스가 있다면 Dog 클래스를 만들어 Animal 클래스를 상속받을 수 있습니다.

class Animal {
  name: string;

  constructor(name: string) {
    this.name = name;
  }

  move(distanceInMeters: number = 0) {
    console.log(`${this.name} moved ${distanceInMeters}m.`);
  }
}

class Dog extends Animal {
  bark() {
    console.log('Woof! Woof!');
  }
}

const dog = new Dog('Buddy');
dog.bark(); // 출력: Woof! Woof!
dog.move(10); // 출력: Buddy moved 10m.

위 예제에서 Dog 클래스는 Animal 클래스를 상속받았으며, move 메서드를 사용할 수 있습니다.

인터페이스 구현

인터페이스는 클래스나 객체가 가져야 할 구조를 정의합니다. 클래스는 인터페이스를 구현하여 해당 인터페이스가 요구하는 구조를 가지도록 할 수 있습니다.

interface Printable {
  print(): void;
}

class Document implements Printable {
  print() {
    console.log('Printing document...');
  }
}

위 예제에서 Printable 인터페이스를 구현하는 Document 클래스를 정의하였습니다.

타입스크립트에서 클래스 상속과 인터페이스 구현을 통해 코드 재사용성과 유연성을 높일 수 있습니다.

참고 자료: