Class (added ES6) vs Object
- Class declarations
- Getter and setters (참고사이트)
언더바 사용전
언더바 사용후
- Public & Private (알아만두자)
- Static (알아만두자)
Class가 고유하게 가질 수 있는 고유값과 반복적으로 사용되는 methods를 static으로 설정할 수 있다.
static과 static methods를 사용하여 작성하면 메모리의 사용을 줄여줄 수 있어 사용한다.(타입스크립트에서 많이 사용된단다.)
생성된 오브젝트로는 접근하면 undefined가 나오니 클래스 자체로 접근해야한다.
- 상속 & 다형성
상속 : Class는 extends를 사용하여 상속을 해줄 수 있다. 상속을 받으면 상속받은 class의 기능을 다 사용가능하다.
다양성 : 상속받은 methods를 오버라이딩(재정의)해서 사용할 수 있다. 또한 super()를 이용하여 상속받은 method도 사용하고 오버라이딩 한 method를 사용할 수 도 있다.
- instanceOf
왼쪽에 있는 Object가 오른쪽에 있는 Class를 이용해서 만들어진것인지 아닌지 확인하는 것이다. JS에 있는 모든 Object, Class는 자바스크립트의 Object를 상속한 것이라 맨 마지막 것도 true이다.
Object를 상속한 것이기 때문에 Object에 설정된 함수들도 오버라이딩하여 사용할 수 있다.
참고사이트