[typescript] 정적 메서드와 인스턴스 메서드의 호출 가능 여부

자바스크립트와 같은 언어들은 객체지향 프로그래밍 언어로서, 클래스에는 정적 메서드인스턴스 메서드를 정의할 수 있습니다. 두 메서드의 차이점을 명확히 이해하는 것이 중요합니다.

정적 메서드

정적 메서드는 특정 클래스의 인스턴스에 종속되지 않고, 클래스 자체에 속해있는 메서드입니다. 따라서, 인스턴스를 생선하지 않고 클래스 이름으로 직접 호출할 수 있습니다.

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

console.log(Calculator.multiply(3, 4)); // 12

위 코드에서 multiply 메서드는 Calculator 클래스의 정적 메서드로 정의되어 있습니다.

인스턴스 메서드

인스턴스 메서드는 특정 클래스의 인스턴스에 속해 있는 메서드로, 해당 클래스의 인스턴스를 생성한 후에만 호출할 수 있습니다.

class Printer {
  printMessage(message: string) {
    console.log(message);
  }
}

const printer = new Printer();
printer.printMessage('Hello, world!'); // Hello, world!

위 코드에서 printMessage 메서드는 Printer 클래스의 인스턴스 메서드로, 해당 클래스의 인스턴스를 생성한 후에만 호출 가능합니다.

호출 가능 여부

따라서, 정적 메서드는 클래스 이름으로 직접 호출 가능하지만, 인스턴스 메서드는 해당 클래스의 인스턴스를 생성한 후에만 호출 가능합니다.

이를 통해 메서드의 종류에 따라 호출 가능 여부를 명확히 이해할 수 있습니다.

참고문헌