클래스 상속
: Java, C++ 등 타 언어 처럼 키워드 extends를 사용하여 상속 클래스를 만든다.
부모 객체의 멤버 값들을 물려받은 자식 객체를 생성한다.
어디까지나 JS에서의 클래스는 문법적 설탕(syntactic sugar) 이기에,
내부에서는 실제 클래스를 쓰지 않고 프로토타입, 생성자를 쓴다고 했었다.
프로토타입 적인 관점으로 봤을 때, 자식 객체는 프로토타입 체인을 통해
부모 객체의 멤버 값을 사용한다(?). 그리고 자식 객체의 프로토타입은 부모 객체와 같다.. 정도로만 기억난다.
const Parent = class {}
const Child = class extends Parent {}
console.log(Child.__proto__ === Parent); // true
console.log(Child.prototype.__proto__ === Parent.prototype); // true
/*
__proto__는 상위 객체에 링크할 수 있는(?) 프로퍼티로 이해했다.
*/