prototype 이란??
자바스크립트에서 모든 객체는 [[Prototype]]이라는 private 속성을 가진다.
이 [[Prototype]]은 객체(자신)의 입장에서 부모 역할을 하는 프로토타입 객체를를 가리키며, 상속을 구현하는데 사용된다.
자바스크립트에서 함수는 prototype 프로퍼티라는 속성을 가진다.
이 prototype 프로퍼티는 함수가 생성자로 사용될 때 이 함수를 통해 생성 될 객체의 부모 역할을 하는 객체를 가리킨다.
prototype chain 이란??
특정 프로퍼티나 메서드에 접근하려고 할 때 해당 객체에 접근하려는 프로퍼티나 메서드가 없다면 [[Prototype]]이 가리키는 링크를 따라 자신의 부모 역할을 하는 프로토타입 객체에 접근하고 프로토 타입 객체에 프로퍼티나 메서드를 찾는다.
이를 prototype chain 이라고 한다.