프로토타입 객체, 부모 객체

(2021-02-26)

프로토타입


1. 자바스크립트는, `프로토타입을 기반으로 상속을 구현하는 객체지향 언어` 임프로토타입 객체 (부모 객체)
     - 어떤 객체의 상위(부모) 객체의 역할을 하는 객체
     - 비록, 생성된 인스턴스에 아무것도 정의하지 않더라도, 
        . 원래부터/처음부터 사용할 수 있도록,
        . 생성된 인스턴스가 부모 프로토타입 객체를 묵시적으로 상속받음
     - 즉, 객체지향상속을 가능 하도록, 
        . 모든 객체는, 자신의 부모 역할을 하는, 프로토타입 객체를 가리키는,
        . 숨겨진 내부 프로퍼티 ([[Prototype]] 또는 __proto__)를 갖음

  ㅇ 프로토타입 체인
     - 자바스크립트의 모든 객체는,
        . 부모 객체(프로토타입 객체)와 프로토타입 체인으로 연결되고,
        . 그 내부에 프로퍼티 [[Prototype]] 또는 __proto__ 를 가지고 있게 됨
     - 즉, 어떤 객체의 [[Prototype]] 또는 __proto__ 프로퍼티는,
        . 상속해 준 부모 객체를 가리키고 있음

  ※ 따라서, 자바스크립트는 `프로토타입 기반의 객체지향 언어` 라고 불리움


2. 프로토타입 가져오기/설정하기

  ㅇ 특정 객체 obj에서 프로토타입 가져오기
     - obj.__proto__ (몇몇 웹브라우저에서 지원)
     - Object.getPrototypeOf(obj) (ECMAScript 5 이상 지원)

  ㅇ 설정하기
     - Object.setPrototypeOf(obj)


3. 프로토타입 메소드

  ㅇ 생성된 인스턴스에서, 묵시적으로 상속 받아 사용할 수 있는 메서드를 말함

JS 객체
   1. JS 객체   2. JS 객체 구분   3. JS 객체의 생성 저장 접근   4. JS 클래스   5. 프로토타입 객체   6. 프라미스 객체   7. 일급 객체   8. 래퍼 객체   9. 콘솔 객체   10. this 참조   11. 이터레이터   12. 제너레이터   13. 범용 객체 (Object object)  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"