Gidhub BE Developer

클래스(Class)

2018-11-13
goodGid


  • 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가 존재한다.


Recommend

Index