쌓고 쌓다
[JavaScript] static 속성과 메소드 본문
static 속성 및 메소드는 정적 속성, 정적 메소드라고 부른다.
static 속성과 메소드는 객체를 생성하지 않고 사용할 수 있다.
static 속성 및 메소드 생성 형태
class 클래스이름 {
static 속성 = 값
static 메소드() {
...
}
}
static 속성 및 메소드 사용법
클래스이름.속성
클래스이름.메소드()
Counter 클래스
class Counter {
static #privateCount = 0
static count = 0
constructor(){
Counter.count+=1 // 생성자에서 this.#count+=1로 불가
}
static get getCount(){
return Counter.count
}
}
static은 private과 결합이 가능하다.
static 속성 및 메소드 사용
const c1 = new Counter();
const c2 = new Counter();
console.log(Counter.count)
console.log(Counter.getCount)
주의! 객체로 static 속성 및 메소드 사용불가
const c1 = new Counter();
const c2 = new Counter();
/* 객체로 static 접근 불가 */
console.log(c1.count)
console.log(c1.getCount)
아래처럼 객체로 static 속성을 777로 바꾸고 객체 c1을 찍어봤는데
const c1 = new Counter();
const c2 = new Counter();
c1.count = 777
console.log(c1)
static count가 아닌 속성 count가 생성되어 777로 추가되어 있다.
'프로그래밍 > JavaScript' 카테고리의 다른 글
[JavaScript] async, await (0) | 2023.01.14 |
---|---|
[JavaScript] Promise(프로미스) + 콜백 지옥 (0) | 2023.01.13 |
[JavaScript] private 속성과 메소드 + get, set 키워드 (0) | 2023.01.10 |
[JavaScript] 상속과 오버라이드(오버라이딩) (0) | 2023.01.09 |
[JavaScript] ToDoList 만들기 (0) | 2023.01.09 |
Comments