19장 프로토타입
전통적인 명령형, 절차지향적 관점에서 벗어나 독립적 단위, 객체의 집합으로 프로그램을 표현하려는 프로그래밍
객체는 상태를 나타내는 데이터와 상태 데이터를 조작할 수 있는 동작을 하나의 논리적인 단위로 묶은 복합적인 자료구조
상속은 객체지향 프로그래밍의 핵심 개념, 객체의 프로퍼티 또는 메서드를 다른 객체가 상속받아 그대로 사용할 수 있는것을 말한다.
JS는 프로토타입을 기반으로 상속을 구현하여 불필요한 중복을 제거한다.
프로토타입 객체란 객체 간 상속을 구현하기 위해 사용된다. 상속 받은 하위 객체는 상위 객체의 프로퍼티를 자신의 프로퍼티처럼 자유롭게 사용할 수 있다.
__proto__접근자 프로퍼티:
모든 객체는 __proto__ 접근자 프로퍼티를 통해
자신의 프로토타입 내부 슬롯에 간접적으로 접근할 수 있다.
모든 객체는 상속을 통해
Object.prototype.__proto__ 접근자 프로퍼티를 사용할 수 있다.
하지만 코드 내에서 직접 사용하는 것은 권장되지 않는다.
함수 객체의 prototype 프로퍼티:
함수 객체만이 소유하는 prototype 프로퍼티는
생성자 함수가 생성할 인스턴스의 프로토타입을 가리킨다.
모든 객체의 __proto__ 와 동일한 프로토타입을 가리키지만
사용하는 주체가 다르다.
프로토타입의 constructor 프로퍼티와 생성자 함수:
constructor 프로퍼티는 prototype 프로퍼티로,
자신을 참조하고 있는 생성자 함수를 가리킨다.
프로토타입은 생성자 함수가 생성되는 시점에 더불어 생성된다.
5장 컴퓨터 아키텍처와 운영체제(p.217 ~ p.220)
無