상속이란 객체의 로직을 물려받은 또 다른 객체를 만들 수 있는 기능을 의미하며 코드의 재활용성을 높인다. 또한 기존의 로직을 수정하여 새로운 파생된 객체를 만들 수 있게 한다.
상속의 사용법
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; 과 같이 사용하면 안된다.
왜냐하면 이렇게 되면 자식 객체의 변화가 부모 객체에도 영향을 끼치기 때문이다.
'Javascript > 기초공부' 카테고리의 다른 글
[Javascript: Object] Object API / Object 확장 / Object 확장의 위험 (0) | 2020.03.19 |
---|---|
[Javascript: 표준 내장 객체] 표준 내장 객체란? / 배열의 확장 (0) | 2020.03.19 |
[Javascript: this] 전역객체 / 함수, 메소드, 생성자와 this / apply와 call / apply와 this (0) | 2020.03.18 |
[Javascript: 생성자와 new] 객체 생성 (0) | 2020.03.18 |
[Javascript: 객체 지향 프로그래밍(OOP)] 추상화 / 부품화 / 은닉화 / 캡슐화 / 인터페이스 (0) | 2020.03.18 |