프로토타입

자바스크립트 프로토타입이란 무엇인가?

모든 자바스크립트 객체는 그것의 프로토타입 객체에 대한 내부 참조를 가지고 있으며, 프로토타입 객체로부터 프로퍼티를 상속받는다.

모든 함수는 함수가 정의됐을 때 자동으로 생성되고 초기화되는 prototype 프로퍼티를 가지고 있다.

이러한 프로토타입 객체에 추가하는 프로퍼티는 생성자로 초기화된 객체 프로퍼티로 나타난다.

자바스크립트 프로토타입 예제

자바스크립트 프로토타입 예제는 다음과 같다.

function Point(x,y){
    this.x = x;
    this.y = y;
}

Point.prototype.add = function(){
    return this.x + this.y;
}   

point1 = new Point(5,5);
point2 = new Point(8,8);

console.log(point1.add());  // 10
console.log(point2.add());  // 16

메서드와 프로퍼티는 객체가 생성된 이후에도 프로토타입에 추가될 수 있다. 다음 예제를 보자.

function Point(x,y){
    this.x = x;
    this.y = y;
}

// 객체를 먼저 생성
point1 = new Point(5,5);
point2 = new Point(8,8);

// 프로토타입에 메서드를 추가
Point.prototype.add = function(){
    return this.x + this.y;
}   

console.log(point1.add());  // 10
console.log(point2.add());  // 16

자바스크립트 프로토타입을 쓰는 이유는 무엇인가?

자바스크립트 프로토타입의 이점은 다음과 같다.

관련 수업

← 이전다음 →