[typescript] 타입 별칭과 인터페이스를 사용하여 클래스 상속과 인터페이스 구현 동시에 정의하기

TypeScript는 클래스 상속과 인터페이스 구현을 함께 사용하여 유연한 코드를 작성할 수 있는 기능을 제공합니다. 이 글에서는 타입 별칭인터페이스를 사용하여 클래스 상속과 인터페이스 구현을 동시에 정의하는 방법에 대해 알아보겠습니다.

타입 별칭과 인터페이스

먼저, 타입 별칭과 인터페이스에 대해 간략히 알아보겠습니다.

타입 별칭

타입 별칭은 복잡한 타입이나 인터페이스를 간단하게 이름으로 지정할 수 있는 기능입니다. 다음은 타입 별칭을 선언하는 예시입니다.

type MyType = string | number;

인터페이스

인터페이스는 객체의 형태를 정의하는데 사용되며, 구조와 속성의 타입을 지정할 수 있습니다. 다음은 인터페이스를 선언하는 예시입니다.

interface MyInterface {
  name: string;
  age: number;
}

클래스 상속과 인터페이스 구현 동시에 정의하기

이제 클래스 상속과 인터페이스 구현을 같이 사용하는 방법에 대해 살펴보겠습니다.

interface Printable {
  print(): void;
}

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

위 예시에서 Printable 인터페이스를 구현하는 MyClass 클래스를 정의하였습니다. 이렇게 함으로써 MyClassPrintable 인터페이스의 요구사항을 충족시키면서(구현하면서) 클래스의 기능을 확장할 수 있습니다.

type MyType = string | number;

class MySubClass extends MyClass {
  value: MyType;
}

위 예시에서는 MySubClassMyClass를 상속받고 있습니다. 이때, MySubClassMyClass의 기능을 상속받으면서 동시에 Printable 인터페이스의 요구사항을 충족시킬 수 있습니다.

이처럼 타입 별칭과 인터페이스를 사용하여 클래스 상속과 인터페이스 구현을 동시에 정의함으로써 유연하고 읽기 쉬운 TypeScript 코드를 작성할 수 있습니다.

마무리

이번 글에서는 TypeScript에서 타입 별칭과 인터페이스를 사용하여 클래스 상속과 인터페이스 구현을 동시에 정의하는 방법에 대해 알아보았습니다. 클래스와 인터페이스를 조합하여 코드를 작성하면서, 더욱 유연하고 확장 가능한 소프트웨어를 개발할 수 있습니다. TypeScript의 또 다른 강력한 기능 중 하나라고 할 수 있겠습니다.

참고문헌: TypeScript 공식 문서

이상으로 해당 내용을 마치도록 하겠습니다. 추가로 궁금한 점이 있으시면 언제든지 물어보세요!