단순히 물려받는게 아니라 기존의 로직을 수정하고 변경해서 파생된
새로운 객체를 만들 수 있게 해줌
1. 상속의 사용법
functionPerson(name){this.name = name;}Person.prototype.name=null;Person.prototype.introduce=function(){return'My name is '+this.name; }functionProgrammer(name){ //Programmer이라는 생성자 만듦this.name = name; //이 생성자의 prototype과 Person의 객체연결}Programmer.prototype=newPerson();var p1 =newProgrammer('egoing');document.write(p1.introduce()+"<br />"); //Programmer객체도 메소드 introduce를 사용할 수 있게 됨//My name is egoing
2. 기능의 추가
functionPerson(name){this.name = name;}Person.prototype.name=null;Person.prototype.introduce=function(){return'My name is '+this.name; }functionProgrammer(name){this.name = name;}Programmer.prototype=newPerson();Programmer.prototype.coding=function(){return"hello world";} //Programmer는 Person의 기능을 가지고 있으면서//동시에 Person이 가지고 있지않은 기능인 메소드 coding을 가지게 됨var p1 =newProgrammer('egoing');document.write(p1.introduce()+"<br />"); //My name is egoingdocument.write(p1.coding()+"<br />"); //hello world