class 상속 구현 강의 질문 있습니다.
254
작성한 질문수 56
강의의 6:11 때의 그림을 보다가 문득 궁금한 점이 생겼습니다.
현재 강의에서는 Bridge 라는 객체를 사용하는데,
그냥 Employee.prototype = Person.prototype 를 해주면 되는 거 아닌가요?? 아니면 혹시 어떤 차이점이 있기 때문에 Bridge를 쓰신건가요?
답변 2
7
Person의 메서드를 상속받으면서
Employee만의 고유 메서드를 추가/변경하고자 하는 것이
'클래스 상속'의 목적입니다.
어떤 변수 또는 프로퍼티에 객체를 할당할 경우,
해당 변수 또는 프로퍼티에는 원본 객체를 '참조복사'한 값이 할당됩니다.
그러니까 Employee.prototype에 Person.prototype을 대입하면
prototype는 객체이기 때문에, Employee.prototype에는 Person.prototype이 참조복사 됩니다.
이후에는 복사본 또는 원본 중 어느 쪽의 내용을 추가/변경/삭제하더라도 양쪽 모두에 결과가 반영됩니다.
즉 Person.prototype 객체와 Employee.prototype 객체가 완전히 동일한 객체가 되는 것입니다.
따라서 Employee의 인스턴스는 Person의 인스턴스와 결과적으로 똑같은 기능을 하게 됩니다.
상속(상위클래스/하위클래스)의 관계가 아닌,
완전히 동일한 메서드를 지닌 채 생성자만 다른 동등한 레벨의 클래스가 되는 것이죠.
인스턴스에서 prototype 프로퍼티에 직접 접근해야하는 이유
0
59
1
setTimeout 에서 this
0
81
1
2강부터 영상이 나오지 않습니다.
0
175
1
자바스크립트 주석에 이상한 점이 있어서 문의드립니다.
0
219
2
return 문 안에 여러 함수가 존재하는 것이 이해되지 않습니다.
1
259
1
클래스 static 멤버
1
253
1
실행컨텍스트와 스택프레임
2
567
1
프로토타입으로 상속할때 브릿지 사용 이유
0
320
1
호이스팅 관련 질문
1
335
1
책 66p. 예제 3-2 질문입니다.
0
356
1
강의 내용 10:58 캡슐화 질문입니다.
1
398
1
강의 내용 5:10 질문입니다.
1
422
2
전역 공간에서의 this
0
426
2
18:31 addEventListener의 this
1
480
1
outerEnvironmentReference 질문
1
372
1
실행 컨텍스트와 클로저에 대해 질문드립니다.
1
448
1
Object.prototype.constructor의 [[prototype]] ?
1
658
1
함수를 값으로 할당할 때
2
457
1
15:54 'ddd' 사라지는 오류?
4
375
1
프로토타입 getPrototypeOf(instance).constructor(n,a) 질문입니다.
1
404
1
기본형/가변형 질문입니당
0
333
0
선생님 그러면 섹션 0만 봐도 무방한가요!?
0
335
1
Hoisting과 environmentRecord에 관한 질문입니다.
1
291
1
안녕하세요, 데이터 변경 질문입니다.
0
328
1





