[typescript] 정적 메서드와 인스턴스 메서드의 실제 사용 예시

이번에는 TypeScript에서 클래스의 정적 메서드와 인스턴스 메서드를 어떻게 사용하는지 살펴보겠습니다.

정적 메서드와 인스턴스 메서드

정적 메서드는 클래스의 인스턴스 없이 호출할 수 있는 메서드이며, 주로 유틸리티 함수나 팩토리 함수를 구현할 때 사용됩니다.

인스턴스 메서드는 클래스의 인스턴스를 생성한 후에 호출할 수 있는 메서드로, 해당 클래스의 특정 인스턴스에 대해 동작하는 로직을 구현하는 데 사용됩니다.

예시: 사각형 클래스

아래는 TypeScript로 구현한 Rectangle 클래스입니다.

class Rectangle {
  width: number;
  height: number;

  constructor(width: number, height: number) {
    this.width = width;
    this.height = height;
  }

  // 인스턴스 메서드
  getArea(): number {
    return this.width * this.height;
  }

  // 정적 메서드
  static createSquare(size: number): Rectangle {
    return new Rectangle(size, size);
  }
}

// 정적 메서드 호출
const square = Rectangle.createSquare(5);
console.log(square); // 출력: Rectangle { width: 5, height: 5 }

// 인스턴스 메서드 호출
console.log(square.getArea()); // 출력: 25

위 예시에서, 우리는 Rectangle 클래스에 정적 메서드 createSquare와 인스턴스 메서드 getArea를 구현했습니다.

createSquare를 통해 정사각형을 생성하고, getArea를 호출하여 사각형의 면적을 구할 수 있습니다.

결론

정적 메서드와 인스턴스 메서드는 TypeScript 클래스의 다양한 상황에 유용하게 활용될 수 있으며, 각각의 특성에 맞게 적절히 사용함으로써 코드를 더욱 모듈화하고 가독성 있게 작성할 수 있습니다.

더 많은 정보는 TypeScript 공식 문서를 참고하세요.