정적 프로퍼티, 메서드

  • 정적은 static을 의미, 자바에서 클래스에서 static으로 정의할 경우 인스턴스 생성하지 않아도 사용 가능한 개념과 유사
  • 생성자 함수로 인스턴스 생성하지 않아도 사용할수 있는 프로퍼티, 메서드
  • 생성자 함수도 객체이므로, 프로퍼티, 메서드 소유 가능
  • 단, 생성자 함수로 생성한 인스턴스로는 사용 불가
  • 예시 : Object
    • Object.create : Object 생성자 함수의 정적 메서드
    • Object 상속받은 객체에서는 호출 불가능
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
예시
// 생성자 함수
function Person(name) {
    this.name = name;
}
 
// 정적 프로퍼티, 메서드 추가
Person.staticProp = ‘static prop’;
Person.staticMethod = function() {
    console.log(‘static method’);
}
 
Person.staticProp(); // static prop
Person.staticMethod(); // static method
 
// 인스턴스에서 호출
const me = new Person(‘Han’);
me.staticProp(); // Error
 
 
cs

출처

  • 모던 자바스크립트 Deep Dive, Ch 19

+ Recent posts