음악, 삶, 개발
Class 안에 static 사용하기 본문
< 참고자료 >
developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Classes/static
static 은 C++ 에서도 많이 보았던 키워드이다.
static 이 앞에 붙은 멤버나 함수는 해당 클래스의 인스턴스가 호출할수없으며,
클래스명 자체에 dot 을 붙여 호출한다.
class Person {
static lifeTime = 100
static cry() { console.log('ung! ung!')}
}
console.log(Person.lifeTime) // 100
Person.cry() // ung! ung!
const p = new Person
p.cry() // Error : p.cry is not a function
클래스 각각 인스턴스가 아닌, 전체가 가질 공통된 메소드나 속성을 나타낼경우
static 을 사용하여 메모리 사용을 줄일수있다.
멤버 변수를 만들때 인스턴스마다 절대 변하지않을 값이라면, static 으로 하는것이 좋다.
클래스의 멤버를 만들때마다 static 을 붙일지 말지를 먼저 생각해보는것도 좋은 습관일듯.