JavaScript - 프로토타입(아직 미완성 ㅜ)

프론트엔드 꿈나무·2022년 9월 22일

🤔 프로토타입이란?

JavaScript는 흔히 프로토타입 기반 언어라고 불린다.
모든 객체들이 메소드와 속성들을 상속 받기 위한 틀로써 프로토타입 객체를 가진다는 의미이다. 프로토타입 객체는 또 다시 상위의 프로토타입 객체로부터 메소드와 속성을 상속받을수 있는데 이것을 프토로타입 체인 이라고 한다.
상속되는 속성과 메소드들은 각 객체가 아니라 객체의 생성자의 프로토 타입이라는 정의되어 있다.

function Beverage(name,price,volume){
	this.name = name;
  	this.price = price;
  	this.volume = volume;
}

Beverage 라는 함수(객체) 를 정의했다. 여기서 함수를 정의하면 단순히 생성자만 생성되는것이 아니라 Beverage 의 prototype 객체도 같이 생성된다.

// 인스턴스 생성
let cola = new Beverage('cola',1000,'500ml'); 

cola 인스턴스는 Bevearge 의 프로토타입 멤버를 상속받는다.
생성되는 모든 인스턴스는 해당 생성자가 가지고있는 prototype 객체의 멤버를 상속받는다.


객체(Beverage)가 생성될때 같이 생성되는 일종의 유전자같은것(Beverage.prototype.constructor
)

0개의 댓글