코드 재사용 패턴(클래스 방식의 상속) - 프로토타입 공유

2020. 3. 2. 15:12웹/Javascript Pattern

코드 재사용 패턴(클래스 방식의 상속) - 프로토타입 공유

function inherit(C, P) {
    C.prototype = P.prototype;
}

 

구조

 

설명

  • 원칙적으로 재사용할 멤버는 this가 아니라 프로토타입에 추가되어야 한다.

  • 상속되어야 하는 모든 것들도 프로토타입 안에 존재해야한다.

  • 부모의 프로토타입을 똑같이 자식의 프로토타입으로 지정하여 처리.

 

프로토타입 공유 패턴 장단점

  • 모든 객체가 동일한 프로토타입을 공유하게 되어 프로토타입 체인 검색이 간단.

  • 상속 체인의 하단 어딘가에 있는 자식이나 손자가 프로토타입을 수정할 경우, 모든 부모와 손자뻘의 객체에 영향

 

 

 

출처 : JavaScript Patterns