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