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

(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)
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   전기전자공학
  5.   방송/멀티미디어/정보이론
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산 기초용어
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
      1.   프로그래밍 언어론
      2.   프로그래밍 방법론
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
            1. 프로그래밍 언어
        1.   C
        2.   C++
        3.   자바(Java)
        4.   자바스크립트
              1. JavaScript
              2. JS 기초 문법
          1.   JS 변수,타입,논리식
          2.   JS 구문,연산자
          3.   JS 실행환경
          4.   JS 함수
          5.   JS 객체
            1.   1. JS 객체
                2. JS 객체 구분
                3. JS 객체의 생성 저장 접근
                4. JS 클래스
                5. 프로토타입 객체
                6. 프라미스 객체
                7. 일급 객체
                8. 래퍼 객체
                9. 콘솔 객체
                10. this 참조
                11. 이터레이터
                12. 제너레이터
                13. 범용 객체 (Object object)
          6.   JS 배열/Map/Set
          7.   JS 활용
          8.   JS 웹문서 제어
        5.   PHP
        6.   파이썬
        7.   (기타 언어)
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공학(역학,기계,재료등)
  9.   설계/표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌