JavaScript의 정적 메소드(Static Method)는 클래스에 속하며, 인스턴스를 생성하지 않고 직접 클래스 이름으로 호출할 수 있는 메소드입니다. 정적 메소드는 주로 클래스 수준의 작업을 수행하거나 유틸리티 함수를 제공하는 데 사용됩니다.
정적 메소드는 클래스의 정적 멤버로 간주되며, 다음과 같은 특징을 가지고 있습니다:
정적 메소드는 다음과 같은 방식으로 정의됩니다:
class MyClass {
static staticMethod() {
// 정적 메소드의 구현
}
}
MyClass.staticMethod(); // 정적 메소드 호출
위의 예시에서 staticMethod
는 MyClass
클래스의 정적 메소드입니다. static
키워드를 메소드 앞에 붙여서 정적 메소드임을 나타냅니다. 이제 MyClass.staticMethod()
와 같이 클래스 이름으로 직접 메소드를 호출할 수 있습니다.
정적 메소드는 클래스의 인스턴스와는 독립적으로 동작하는 함수로서, 클래스의 인스턴스 속성에는 접근할 수 없습니다. 대신 정적 메소드는 클래스 수준의 작업을 수행하거나, 인스턴스를 생성하지 않고도 유틸리티 기능을 제공하는 데 사용됩니다.
정적 메소드의 주요 용도는 다음과 같습니다:
다음은 정적 메소드의 예시입니다:
class MathUtils {
static sum(a, b) {
return a + b;
}
static getRandomNumber() {
return Math.random();
}
}
console.log(MathUtils.sum(2, 3)); // 5
console.log(MathUtils.getRandomNumber()); // 임의의 난수 값
위의 예시에서 MathUtils
클래스는 sum
과 getRandomNumber
라는 두 개의 정적 메소드를 제공합니다. sum
메소드는 인자로 전달된 두 수의 합을 반환하고, getRandomNumber
메소드는 임의의 난수 값을 반환합니다. 이러한 정적 메소드는 클래스를 인스턴스화하지 않고도 직접 사용할 수 있습니다.
정적 메소드를 사용하면 클래스의 인스턴스와는 독립적으로 클래스 수준의 작업을 수행할 수 있으며, 유틸리티 기능을 제공하기에 유용합니다.