[typescript] 정적 메서드와 인스턴스 메서드의 문법적 차이점

TypeScript는 JavaScript의 상위집합인 프로그래밍 언어로, 정적 메서드와 인스턴스 메서드의 사용에 있어 몇 가지 문법적인 차이점이 있습니다. 정적 메서드는 클래스의 인스턴스를 생성하지 않고 바로 호출할 수 있는 반면, 인스턴스 메서드는 클래스의 인스턴스를 생성한 후에 호출할 수 있습니다.

정적 메서드(Static Methods)

정적 메서드는 클래스 및 인스턴스와 관련이 없는 동작을 수행하는 데 사용됩니다. 정적 메서드는 클래스 자체에 바인딩되어 있으며, 인스턴스에는 영향을 주지 않습니다. TypeScript에서 정적 메서드는 static 키워드를 사용하여 정의됩니다.

다음은 TypeScript에서 정적 메서드를 정의하는 방법의 예시입니다:

class Calculator {
  static multiply(x: number, y: number): number {
    return x * y;
  }
}

let result = Calculator.multiply(5, 3);
console.log(result); // 출력: 15

위 예시에서 multiply 메서드는 static 키워드로 정적 메서드로 정의되었습니다.

인스턴스 메서드(Instance Methods)

인스턴스 메서드는 클래스의 인스턴스를 통해 호출되며, 해당 인스턴스의 속성 및 메서드에 접근할 수 있습니다. TypeScript에서 인스턴스 메서드는 일반적인 메서드와 같이 클래스 내부에 정의됩니다.

다음은 TypeScript에서 인스턴스 메서드를 정의하는 방법의 예시입니다:

class Greeter {
  greeting: string;

  constructor(message: string) {
    this.greeting = message;
  }

  greet() {
    return "Hello, " + this.greeting;
  }
}

let greeter = new Greeter("world");
console.log(greeter.greet()); // 출력: Hello, world

위 예시에서 greet 메서드는 인스턴스 메서드로, 클래스의 인스턴스를 통해 호출됩니다.

따라서, TypeScript에서는 정적 메서드를 static 키워드로, 인스턴스 메서드를 일반적인 메서드로 정의하여 구분할 수 있습니다.

이로써 TypeScript에서의 정적 메서드와 인스턴스 메서드의 문법적 차이점에 대해 알아보았습니다. 페이지에서 제공하는 정보가 유용했기를 바랍니다.

레퍼런스: TypeScript 공식 문서

참조