JS 정적메소드

dowon kim·2023년 6월 19일
0
post-thumbnail

JavaScript의 클래스에는 정적 메서드라는 개념이 있습니다. 정적 메서드는 클래스의 인스턴스가 아니라 클래스 자체에 연결된 함수입니다. 이 메서드는 static 키워드를 사용해 선언됩니다.

정의와 사용법
아래는 static 메서드의 예입니다:

class MyClass {
  static myStaticMethod() {
    return 'Hello, World!';
  }
}

console.log(MyClass.myStaticMethod()); // "Hello, World!"

여기서 myStaticMethod는 MyClass의 정적 메서드입니다.
이 메서드는 MyClass.myStaticMethod() 형태로 직접 호출됩니다.
반면, 인스턴스 메서드는 클래스의 인스턴스를 통해 호출되므로,
이 두 유형의 메서드는 다르게 작동합니다.

장점

  • 인스턴스 생성 없이 사용 가능:
    정적 메서드는 클래스의 인스턴스를 생성하지 않고도 호출할 수 있습니다.
    이는 인스턴스화 과정 없이도 클래스의 기능을 사용할 수 있도록 합니다.
    예를 들어, 유틸리티 클래스에서 이런 방식이 유용하게 사용됩니다.

  • 상속 가능:
    정적 메서드는 부모 클래스에서 자식 클래스로 상속됩니다.
    즉, 자식 클래스에서 부모 클래스의 정적 메서드를 호출할 수 있습니다.

단점

  • 인스턴스 상태에 접근 불가:
    정적 메서드는 인스턴스의 상태에 접근할 수 없습니다.
    즉, 인스턴스의 프로퍼티를 읽거나 변경할 수 없습니다.
    정적 메서드는 오직 클래스 수준의 정보에만 접근할 수 있습니다.

  • 오버라이드 어려움:
    인스턴스 메서드와 달리, 정적 메서드는 오버라이드하기 어렵습니다.
    이는 정적 메서드가 클래스 수준에서 정의되기 때문에,
    하위 클래스에서 동일한 메서드 이름을 사용하여 새로운 구현을 제공하는 것이 더 어렵습니다.

profile
The pain is so persistent that it is like a snail, and the joy is so short that it is like a rabbit's tail running through the fields of autumn

0개의 댓글

관련 채용 정보