[Javascript] 클래스 방식의 상속패턴 #4 - 프로토타입 공유

목차

앞서 살펴본 3번째의 클래스방식의 상속패턴은 부모 생성자를 두 번호출하여 쓸떼없는 메모리를 사용한다.

이번에 살펴볼 패턴은 부모생성자를 한 번도 호출 하지 않는다.


원칙적으로 재사용할 멤버는 this가 아니라 prototype에 추가 되어야 한다. 따라서 상속되어야 하는 모든 것들도 프로토타입에 존재하면 된다.


코드는 간단하다.

기본패턴에서 약간만 변형이 된 코드다.

부모의 프로토타입을 자식의 프로토타입으로 지정해 주면 된다


<소스>


<결과>


프로퍼티와 프로토타입 모두 상속이 된 것을 확인 할 수 있다.


그림으로 확인해보자



하지만 여기에도 단점은 있기 마련이다.

프로토타입을 공유한다는 것은 C언어로 비유하자면 포인터를, 리눅스로 비유하자면 하드링크 가리킨다고 생각하면 이해가 쉬울 듯하다.

공유된 다른 객체에서 수정을 할 경우 모든 부모와 자식, 손자 뻘에게 영향이 미칠 수 있다.


  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유