본문 바로가기

UI개발

자바스크립트 객체지향 - 상속

상속 inheritance

상속은 객체의 로직을 그대로 물려 받는 또 다른 객체를 만들 수 있는 기능.

단순히 물려받는 것이 아니라 기존 로직을 수정하고 변경해서 파생된 새로운 객체를 만들 수 있게 해줌.

 

function Person(name){
    this.name = name;
    this.introduce = function(){
        return '나는 ' + this.name;
    }
}

var p1 = new Person('찡찡이');

console.log( p1.introduce() ); // 나는 찡찡이

 

 

prototype 사용

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

var p1 = new Person('찡찡찡이');

console.log( p1.introduce() ); // 나는 찡찡찡이

 

상속하기

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

function Person2(name){
    this.name = name;
}
Person2.prototype = new Person();

var p1 = new Person2('바보');

console.log( p1.introduce() ); // 너는 바보

 

기능 추가하기

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

function Person2(name){
    this.name = name;
}
Person2.prototype = new Person();
Person2.prototype.age = function(){
    return '1000'
}

var p1 = new Person2('바보');

console.log( p1.age() ); // 1000