
101
Chapter 07_
자바스크립트 디자인 패턴
7.6
프로토타입 패턴
GoF
는 프로토타입
Prototype
패턴을 이미 존재하는 객체를 복제해 만든 템플릿을 기반으로 새
객체를 생성하는 패턴이라고 정의했습니다.
프로토타입 패턴은 프로토타입의 상속을 기반으로 합니다. 이 패턴에서는 프로토타입 역할
을 할 전용 객체를 생성하게 됩니다. 이렇게 만들어진
prototype
객체는 생성자를 통해 만
들어진 객체의 설계도가 됩니다. 예를 들어 생성자 함수의 프로토타입이
name
속성을 가지고
있다면, 해당 생성자 함수를 사용해 만들어진 객체들은 모두
name
속성을 가지게 됩니다. [그
림
7
-
3
]에서 프로토타입 패턴의 구조를 볼 수 있습니다.
그림
7-3
프로토타입 패턴
자바스크립트 생태계 바깥에서 프로토타입의 정의를 찾아 올라가면 클래스에 대한 언급을
어
쩌면
찾을 수도 있습니다. 그러나 실제로는 프로토타입 상속과 클래스는 별개로 사용됩니다.
프로토타입 상속은 클래스처럼 따로 정의되는 것이 아니라, 이미 존재하는 다른 객체를 복제
하여 새로운 객체를 만들어냅니다.
프로토타입 패턴의 장점은 다른 언어의 기능을 따라 하지 않고, 자바스크립트만이 가진 고유
의 방식으로 작업할 수 있다는 것입니다. 다른 디자인 패턴과 구별되는 특징입니다.
프로토타입 패턴은 상속을 구현하는 ...