프로토타입(Prototype)

CODEDRAGON Development/JavaScript, jQuery, ...

반응형

 

프로토타입(Prototype)

·       속성과 메서드를 포함하는 객체

·       모든 객체는 자신의 부모 역할을 하는 프로토타입 객체를 가리키는 숨겨진 프로퍼티가 있습니다.

·       객체 생성 표기법에 의해 즉 중괄호({})를 이용하여 생성된 모든 객체는 자바스크립트의 표준 객체인 Object의 속성인 prototype 객체(Object.prototype)에 연결됩니다.

·       모든 객체는 속성을 상속하는 프로토타입 객체에 연결이 됩니다.

·       객체를 생성할 때 결정된 프로토타입 객체는 생성 이후 임의의 다른 객체로 변경하는 것이 가능합니다.

·       이는, 부모 객체를 동적으로 바꿀 수 있다는 것입니다. 자바스크립트에서는 이러한 특징을 이용해서 객체 상속등의 기능을 구현합니다.

·       ECMAScript명세서에는 이 프로퍼티를 [Prototype]이라고 명시하고 있습니다.

·       크롬 브라우저에서는 _proto_ 형태로 표시됩니다.

 

 


  

 

프로토타입을 이용한 메서드 생성

·       프로토타입은 생성자 함수를 사용해 생성된 객체가 공통으로 가지는 공간입니다.

·       각기 객체를 생성할 때마다 동일한 함수를 계속 생성하는 것은 낭비이기 때문에 프로토타입을 이용해 공통으로 사용할 메서드를 지정합니다.

 

function Student(name, korean, math, english, science) {

this.이름 = name;

this.국어 = korean;

this.수학 = math;

this.영어 = english;

this.과학 = science;

}

Student.prototype.getSum = function() {

return this.국어 + this.수학 + this.영어 + this.과학;

};

Student.prototype.getAverage = function() {

return this.getSum() / 4;

};

Student.prototype.toString = function() {

return this.이름 + ', ' + this.getSum() + ', ' + this.getAverage();

};

 

 

 


반응형

'Development > JavaScript, jQuery, ...' 카테고리의 다른 글

노드의 탐색  (0) 2017.06.27
화면에 문서객체 출력 - appendChild()  (0) 2017.06.27
document 객체 메소드  (0) 2017.06.27
document 객체 속성  (0) 2017.06.27
document 객체, 도큐먼트 객체  (0) 2017.06.27