자바스크립트 클래스에서 정적 메서드와 인스턴스 메서드의 차이는 무엇인가요?
  1. 정적 메서드:
    • 클래스 자체와 관련된 작업을 수행하는 메서드입니다.
    • 클래스의 인스턴스를 생성하지 않고 바로 호출할 수 있습니다.
    • 정적 메서드는 클래스의 속성 또는 다른 메서드에 액세스할 수 없습니다.
    • 주로 유틸리티 함수를 구현하거나, 어떤 동작을 수행하는데 필요한 보조 함수를 제공하는 용도로 사용됩니다.
  2. 인스턴스 메서드:
    • 클래스의 인스턴스에 연관된 작업을 수행하는 메서드입니다.
    • 클래스를 기반으로 생성된 개별 객체에서만 호출할 수 있습니다.
    • 인스턴스 메서드는 클래스의 속성에 접근하고 다른 인스턴스 메서드를 호출할 수 있습니다.
    • 주로 객체의 상태를 변경하거나 객체와 관련된 동작을 수행하는데 사용됩니다.

다음은 자바스크립트 클래스에서 정적 메서드와 인스턴스 메서드의 예시입니다:

class Calculator {
  static add(a, b) {
    return a + b;
  }

  multiply(a, b) {
    return a * b;
  }
}

// 정적 메서드 호출
console.log(Calculator.add(5, 3));

// 인스턴스 생성
const calc = new Calculator();

// 인스턴스 메서드 호출
console.log(calc.multiply(5, 3));

위의 코드에서 add 메서드는 정적 메서드로, 클래스 자체에 속해 있으므로 바로 호출할 수 있습니다. multiply 메서드는 인스턴스 메서드로, 클래스의 인스턴스를 생성한 후에만 호출할 수 있습니다.

참고 자료: