- static methods와 (prototype) methods의 차이에 대해 알아보자.
-
간단하다.
-
생성자.함수() 선언이라면 static methods 선언 방식
-
생성자.prototype.함수() 선언이라면 (prototype) mehotds 선언 방식이다.
-
인스턴스의 __proto__로 (prototype) methods에 직접 접근이 가능하다.
-
하지만 static methods와 static properties는 직접 접근이 불가능하다.
- 구체적인 코드로 살펴보자.
-
위에서 봤듯이 static methods를 인스턴스가 직접 접근하는 것은 불가능하다.
-
그렇기 때문에 gomu.getInformation(gomu)를 호출하면 ERROR가 발생한다.
-
getInformation()를 호출하고 싶다면
-
인스턴스가 아니라 생성자 함수에서 접근을 해야한다.
-
정리해보면
-
클래스 자체에서만 접근 가능한 static methods와 static properties가 존재하며
-
인스턴스에서 직접 접근이 가능한 (prototype) methods가 존재한다.