프로토타입

Taehye.on·2023년 3월 15일
0

코드스테이츠 44기

목록 보기
30/89
post-thumbnail

D-22

🔍 프로토타입이란?

프로토타입(Prototype)은 원형 객체를 의미하며 JavaScript의 모든 객체는 각자의 부모 객체와 연결되어 있으며 부모 객체의 프로퍼티나 메서드를 상속받아 사용할 수 있다.
이러한 부모 객체를 프로토타입이라고 한다.

아래 OPP 패턴 Human 클래스를 구현한 예시를 살펴보자

📌 .prototype

Human.prototype.constructor === Human; // true, 클래스

Human 클래스의 생성자 함수는 Human이다.

📌 .__proto__

Human.prototype === taehyeon.__proto__; // true, 프로토타입

Human 클래스의 프로토타입은 Human클래스의 인스턴스인 taehyeon의 .__proto__이다.

📌 .methodName

Human.prototype.sleep === taehyeon.sleep; // true, 인스턴스 - 메서드

Human 클래스의 sleep 메서드는 프로토타입에 있으며,
Human 클래스의 인스턴스인 taehyeon에서 taehyeon.sleep으로 사용 가능하다.

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

  • 프로토타입의 속성은 프로토타입 객체를 참조한다.
  • .__proto__ : 객체가 만들어지기 위해 사용된 원형인 프로토타입 객체를 참조하는 링크를 가진다.
  • 0개의 댓글