본문 바로가기

Javascript/기초공부

[Javascript: 상속(Inheritance)] 상속의 사용법 / prototype

상속이란 객체의 로직을 물려받은 또 다른 객체를 만들 수 있는 기능을 의미하며 코드의 재활용성을 높인다. 또한 기존의 로직을 수정하여 새로운 파생된 객체를 만들 수 있게 한다.

상속의 사용법

function Person(name) {
    this.name = name;
}
Person.prototype.name = null;
Person.prototype.introduce = function() {
    return 'My name is '+this.name;
}

function Programmer(name) {
    this.name = name;
}
Programmer.prototype = new Person(); // 상속
Person.prototype.coding = function() { // 새로운 기능 추가
    return 'hello world';
}

var p1 = new Programmer('jisun');
document.write(p1.introduce()+'<br />');
document.write(p1.coding()+'<br />');

 

Prototype

function Ultra(){}
Ultra.prototype.ultraProp = true;
 
function Super(){}
Super.prototype = new Ultra();
 
function Sub(){}
Sub.prototype = new Super();
 
var o = new Sub();
console.log(o.ultraProp); // true

* Sub.prototpye = Super.prototype; 과 같이 사용하면 안된다.

  왜냐하면 이렇게 되면 자식 객체의 변화가 부모 객체에도 영향을 끼치기 때문이다.