[typescript] 클래스 상속과 인터페이스 구현을 통해 어떤 유연성을 얻을 수 있는가?

TypeScript는 클래스 상속과 인터페이스 구현을 통해 코드 재사용과 확장성을 높일 수 있는 다양한 유연성을 제공합니다. 이 블로그 포스트에서는 TypeScript에서 클래스 상속과 인터페이스 구현을 통해 어떤 유연성을 얻을 수 있는지 살펴보겠습니다.

클래스 상속

클래스 상속은 기존 클래스의 특성을 그대로 유지하면서 새로운 클래스를 만들 수 있는 강력한 도구입니다. 이를 통해 코드 재사용이 가능하며, 상위 클래스에서 정의된 메서드와 속성을 하위 클래스에서 재사용할 수 있습니다.

예시:

class Animal {
  constructor(public name: string) {}

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

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

const dog = new Dog('Fido');
dog.bark();
dog.move(10);

위의 예시에서 Dog 클래스는 Animal 클래스를 상속하여 move 메서드를 재사용하고, bark 메서드를 추가로 정의했습니다.

인터페이스 구현

인터페이스는 클래스나 객체가 특정한 구조를 따르도록 강제하는 역할을 합니다. TypeScript에서 인터페이스를 구현함으로써 클래스가 특정한 메서드나 속성을 반드시 가져야 한다는 규칙을 정의할 수 있습니다.

예시:

interface Printable {
  print(): void;
}

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

위의 예시에서 Document 클래스는 Printable 인터페이스를 구현하여 print 메서드를 반드시 가져야 합니다.

장점

클래스 상속과 인터페이스 구현을 통해 TypeScript에서는 코드의 재사용성을 높일 뿐만 아니라 유지보수성과 확장성을 높일 수 있습니다. 또한, 이를 통해 코드의 일관성과 가독성을 높일 수 있습니다.

이와 같이 TypeScript에서 클래스 상속과 인터페이스 구현은 유연성을 높이는 데에 매우 유용한 도구입니다. 이러한 기능들을 적절히 활용하여 보다 견고하고 유지보수가 용이한 코드를 작성할 수 있습니다.

참고 문헌: