상속(inheritance)는 객체의 로직을 그대로 물려받는 또 다른 객체를 만들 수 있는 기능이다.
기존의 로직을 수정하고 변경해서 파생된 새로운 객체를 만들 수 있게 해준다.
1. 상속 방법
var Parent = function(name) { //부모 this.name = name; } Parent.prototype.name = null; //prototype 속성 Parent.prototype.introduce = function(){ //prototype 속성 return 'My name is '+name; } var Child = function(name) { //자식 this.name = name; }; //상속 Child.prototype = new Parent(); //사용 var p1 = new Child('hong'); document.write(p1.introduce());
* Child 라는 생성자가 가지고 있는 프로퍼티 중 prototype이라는 특수한 프로퍼티 값으로 new parent(); 를 하면 생성자에 의해 객체가 생성할 때
JavaScript는 prototype이라는 속성을 생성자 함수가 가지고 있는지 확인하고 생성자 함수 안에 들에있는 객체와 똑같은 객체를 만들어 생성자의
결과로 반환해준다. 그 객체는 prototype이라는 프로퍼티의 값이 되는 것.
2. 기능의 추가
function Parent(name){ //부모 this.name = name; } Parent.prototype.name=null; Parent.prototype.introduce = function(){ return 'My name is '+this.name; } function Child(name){ //자식 this.name = name; }
//상속 Child.prototype = new Parent();
//기능 추가 Child.prototype.coding = function(){ return "hello world"; } var p1 = new Child('hong'); document.write(p1.introduce()+"<br />"); document.write(p1.coding()+"<br />");
'WEB > JavaScript' 카테고리의 다른 글
표준 내장 객체 (0) | 2016.10.13 |
---|---|
prototype (0) | 2016.10.13 |
전역객체와 this (0) | 2016.10.13 |
생성자 (0) | 2016.10.13 |
arguments (0) | 2016.10.12 |