본문 바로가기
프로그래밍/JavaScript

JavaScript - 프로토타입과 클래스

by hustle-ing 2023. 3. 15.

프로토타입(Prototype)

자바스크립트의 모든 객체는 프로토타입(prototype)이라는 객체를 가지고 있다. 모든 객체는 그들의 프로토타입으로부터 프로퍼티와 메소드를 상속받는다. 이처럼 자바스크립트의 모든 객체는 최소한 하나 이상의 다른 객체로부터 상속을 받으며, 이때 상속되는 정보를 제공하는 객체를 프로토타입이라고 한다.

 

.prototype

객체를 생성하는 생성자 함수의 프로토타입 객체를 가리킨다. 해당 함수로 생성된 객체의 부모객체인 프로토타입 객체를 가리킨다.

 

__proto__ 

모든 객체가 가지는 내부 프로퍼티로, 객체의 프로토타입 객체를 가리킨다. 모든 객체는 자신을 생성한 생성자 함수의 프로토타입 객체를 상속받고, __proto__프로퍼티를 사용하면 해당 객체의 프로토타입 객체에 직접 접근할 수 있다.

 

 

클래스와 인스턴스, 프로토타입의 관계

클래스와 프로토타입은 객체를 만들기 위한 설계도이다. 클래스는 인스턴스를 만들기 위한 템플릿으로 사용되고, 프로토타입은 객체를 만들기 위한 기본 템플릿으로 사용된다.

 

 

 

 

레퍼런스

https://developer.mozilla.org/ko/docs/Learn/JavaScript/Objects/Object_prototypes

http://www.tcpschool.com/javascript/js_object_prototype

댓글