- [Javascript] Pseudoclassical Subclass Instantiation2020년 02월 23일
- alpha brain
- 작성자
- 2020.02.23.:25
반응형지금은 javascript가 많이 발전하여 oop를 구현하는것이 그리 어렵지 않지만 예전엔 구현이 좀 까다로웠다.
이번 포스팅은 예전에는 어떤 방식으로 oop를 구현하는지 정리하는 포스팅이다.
아래의 내용을 알아야 이번 포스팅을 이해할수가 있다.
대표적인 방식인 Pseudoclassical pattern 을 보면,
function SuperClass(arg1,arg2){ this.arg1 = arg1; this.arg2 = arg2; } SuperClass.prototype.foo(){ console.log(this.arg1); console.log(this.arg2); } function Subclass(argA,argB){ SuperClass.call(this,argA,argB); } // SubClass의 constructor와 prototype부분을 이런식으로 변경해주여 구현한다. SubClass.prototype = Obeject.create(SuperClass.prototype); SubClass.prototype.constructor = Subclass;
메서드의 오버라이딩 부분은 SuperClass의 foo에 this(SubClass)를 넘겨주어 강제로
SuperClass의 foo를 실행시킨다.SubClass.prototype.foo = function(){ SuperClass.prototype.foo.call(this); // do somethig.... }
오래전에 쓰여진 라이브러리는 상속을 이런식으로 구현한것을 볼수가 있는데,
mongoose 패키지의 일부에서도 이런 상속패턴이 쓰이고있다.이 방식으로 코드를 짤것인지는 잘 모르겠지만 다른사람의 코드를 볼때 알아두면 좋을것 같다.
반응형'SOFTWARE DEVELOP > JAVASCRIPT' 카테고리의 다른 글
[Javascript] 비동기함수(2) - CallBack (0) 2020.05.25 [Javascript] 비동기함수(1) - Event Loop (0) 2020.03.29 [Jacascript] call, apply, bind and this (0) 2020.02.21 [Javascript] class inheritance in ES6 (0) 2020.02.14 [Javascript] Object.create( ) 과 prototype chaining (0) 2020.02.14 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)