[typescript] 타입 별칭과 인터페이스를 사용하여 클래스 인터페이스 구현하기

이번 포스트에서는 TypeScript에서 타입 별칭인터페이스를 사용하여 클래스의 인터페이스를 구현하는 방법에 대해 알아보겠습니다.

1. 타입 별칭(Type Alias)이란?

타입 별칭은 새로운 이름을 정의하여 기존 타입에 접근할 수 있는 기능입니다. 자주 사용되는 복잡한 타입이나 Union Type, Tuple 등을 간단한 이름으로 정의하여 사용할 수 있습니다.

다음은 타입 별칭을 사용한 예시입니다.

type Point = {
  x: number;
  y: number;
}

type ID = string | number;

2. 인터페이스(Interface)란?

인터페이스는 객체의 구조를 정의하는 역할을 합니다. 객체가 어떤 속성과 메서드를 가지고 있어야 하는지를 정의하여 해당 인터페이스를 구현하는 객체는 그 구조를 준수해야 합니다.

다음은 인터페이스를 사용한 예시입니다.

interface Shape {
  color: string;
}

interface Square extends Shape {
  sideLength: number;
}

let square: Square = {
  color: "blue",
  sideLength: 10,
};

3. 타입 별칭과 인터페이스를 사용하여 클래스 인터페이스 구현하기

클래스에서도 인터페이스를 구현할 수 있습니다. 아래 예시에서는 Drawable이라는 인터페이스를 클래스 Circle이 구현하는 방법을 보여줍니다.

interface Drawable {
  draw(): void;
}

class Circle implements Drawable {
  draw() {
    // Draw a circle
  }
}

또한, 타입 별칭을 사용하여 클래스에서도 복잡한 타입을 단순한 이름으로 사용할 수 있습니다.

type Point = {
  x: number;
  y: number;
}

class Line {
  start: Point;
  end: Point;

  constructor(start: Point, end: Point) {
    this.start = start;
    this.end = end;
  }
}

마무리

이번 포스트에서는 TypeScript에서 타입 별칭과 인터페이스를 사용하여 클래스의 인터페이스를 구현하는 방법에 대해 알아보았습니다. 이를 통해 코드의 가독성을 향상시키고 유지보수를 더욱 쉽게 할 수 있습니다. TypeScript를 사용하며 이러한 기능들을 적극적으로 활용하여 보다 효율적으로 코드를 작성해 보시기를 권장합니다.

더 많은 정보는 TypeScript 공식 문서에서 확인할 수 있습니다.