[typescript] 정적 메서드와 인스턴스 메서드의 매개변수 설정 방법

이번 글에서는 TypeScript에서 정적 메서드와 인스턴스 메서드를 작성할 때 매개변수를 설정하는 방법에 대해 다루겠습니다. 정적 메서드는 클래스의 인스턴스화 없이 사용되며, 인스턴스 메서드는 클래스의 인스턴스를 생성한 후 사용됩니다. 이에 따라 매개변수의 설정 역시 약간씩 다를 수 있습니다.

정적 메서드의 매개변수 설정

정적 메서드의 매개변수 설정은 일반 함수의 매개변수 설정과 동일합니다.

예를 들어, Calculator 클래스의 add 메서드를 정적 메서드로 만들고 싶다면 아래와 같이 작성할 수 있습니다.

class Calculator {
  static add(num1: number, num2: number): number {
    return num1 + num2;
  }
}

위 코드에서 add 메서드의 매개변수 num1num2는 정적 메서드로서 바로 클래스에 접근할 수 있습니다.

인스턴스 메서드의 매개변수 설정

반면에 인스턴스 메서드의 경우, 클래스의 인스턴스를 생성한 후에 메서드를 호출하므로 조금 다른 방식으로 매개변수를 설정해야 합니다.

예를 들어, Person 클래스의 sayHello 메서드를 인스턴스 메서드로 만들고 싶다면 아래와 같이 작성할 수 있습니다.

class Person {
  name: string;

  constructor(name: string) {
    this.name = name;
  }

  sayHello(greeting: string): void {
    console.log(`${greeting}, ${this.name}!`);
  }
}

const person1 = new Person("Alice");
person1.sayHello("Hi"); // 출력: Hi, Alice!

위 코드에서 sayHello 메서드의 매개변수 greeting은 클래스의 인스턴스를 생성한 후에 해당 메서드를 호출할 때 사용됩니다.

마무리

정적 메서드와 인스턴스 메서드는 각각 클래스에 속한 메서드와 해당 클래스의 인스턴스에 속한 메서드로, 매개변수의 설정은 각각의 용도에 맞게 작성되어야 합니다. TypeScript를 사용하면 이러한 메서드를 명확하게 구분하여 사용할 수 있으며, 매개변수 역시 각각의 특성에 맞게 잘 설정하여 사용할 수 있습니다.