프로토타입기반 클래스 기초
특징
1) 코드 재사용 기능
함수 기반 클래스(생성자 패턴)와 동일하게 여러 개의 인스턴스를 만들어 재사용할 수 있는 장점이 있습니다.
2) 메서드 공유 기능
단점이 없어 보이는 함수 방식 클래스는 치명적인 단점을 가지고 있습니다. 바로 인스턴스마다 내부의 모든 메서드가 독립적으로 만들어 진다는 것입니다. 하지만 프로토타입을 이용하면 모든 인스턴스마다 프로토타입객체를 상속받기 때문에 인스턴스마다 독립적으로 메서드가 생성되는 것이 아니라 해당 메서드를 상속받아 사용하기 때문에 오직 해당 메서드는 하나뿐입니다.
다시 말해서 prototype 을 이용해 상속을 구현한다는 점입니다.
예를 들어 '문자열'.toString() 과 같습니다.
프로토타입 클래스 문법 타입
function 클래스이름() {
this.프로퍼티1=초기값;
this.프로퍼티2=초기값;
}
클래스이름.prototype.메서드 = function(){
}
var 인스턴스 = new 클래스이름();
객체지향프로그래밍 카테고리에 절차지향 방식부터 객체지향인 함수기반의 클래스와 프로토타입기반 클래스 방식에 대한 리팩토링 과정을 정리해 두도록 하겠습니다.
Jaehee's WebClub
'JavaScript > Core & 개념ㆍ용어' 카테고리의 다른 글
클로저(closure) (0) | 2016.09.29 |
---|---|
JavaScript Closure(자바스크립트 클로저) (2) | 2016.09.29 |
실행 컨텍스트의 개념 (0) | 2016.09.29 |
자바스크립트 생성자 패턴 - new를 강제하는 패턴 (10) | 2016.09.29 |
자바스크립트 생성자 (0) | 2016.09.29 |