[typescript] 정적 메서드와 인스턴스 메서드의 개념

오늘은 타입스크립트에서 정적 메서드와 인스턴스 메서드의 개념을 살펴보겠습니다. 이 두 가지 메서드는 객체 지향 프로그래밍에서 자주 사용되며, 타입스크립트에서도 유용하게 활용됩니다.

정적 메서드(Static Method)

정적 메서드(Static Method)는 클래스에 직접적으로 연결되는 메서드로, 해당 클래스의 인스턴스를 생성하지 않아도 호출할 수 있습니다.

class Calculator {
  static add(x: number, y: number) {
    return x + y;
  }
}

console.log(Calculator.add(3, 5)); // 8

위 예제에서 add 메서드는 Calculator 클래스의 정적 메서드입니다. 따라서 Calculator의 인스턴스를 생성하지 않고도 바로 add 메서드를 사용할 수 있습니다.

인스턴스 메서드(Instance Method)

인스턴스 메서드(Instance Method)는 클래스의 인스턴스와 연결되는 메서드입니다. 클래스의 인스턴스를 생성한 후에야 호출할 수 있습니다.

class Car {
  start() {
    console.log('Car started');
  }
}

const myCar = new Car();
myCar.start(); // 'Car started'

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

정적 메서드 vs. 인스턴스 메서드

이 두 가지 메서드를 구분하여 사용함으로써, 각각의 역할과 사용처를 명확히 할 수 있습니다. 정적 메서드는 인스턴스와는 독립적으로 동작하는 메서드로, 유틸리티 함수나 팩토리 메서드 등에 유용하게 활용됩니다. 반면 인스턴스 메서드는 특정한 인스턴스에 대해 작동하는 동작을 정의합니다.

결론

정적 메서드와 인스턴스 메서드는 타입스크립트 클래스에서의 메서드 사용에 있어서 중요한 역할을 합니다. 정적 메서드는 클래스 레벨에서 주로 사용되고 인스턴스 메서드는 객체 레벨에서 주로 사용됩니다. 이를 구분하여 적절히 활용하면 보다 효율적으로 코드를 작성할 수 있습니다.

참고 문헌: MDN web docs, TypeScript Handbook

이상으로 정적 메서드와 인스턴스 메서드의 개념을 소개해드렸습니다. 감사합니다!