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 |