- Prototype
- Constructor & new
- OOP & Instance
Prototype
자바스크립트는 프로토타입
기반 객체지향 언어입니다. 다른 언어는 클래스
기반 객체지향언어(OOP)입니다.
ES2015에 추가된 class문법이 추가되었습니다. 하지만 문법이 추가되었다는 것이지, 자바스크립트가 클래스 기반으로 바뀌었다는 것은 아닙니다.
객체는 함수로부터 시작된다. 즉 객체는 언제나 함수로 생성된다.
JavaScript에서는 객체 간에 공유되어야 하는 속성과 메소드를, 프로토타입이라는 기능을 이용해서 효율적으로 저장합니다. 객테에 프로토타입을 지정하면, 프로토타입의 속성을 해당 객체에서 재상용할 수 있습니다.
프로토타입 기능을 이용해 한 객체에서 다른 객체의 기능을 가져와 사용하는 것을 프로토타입 상속이라고 합니다.
Constructor & new
1 | function Book() {} //함수 |
생성자
는 새로 생성된 객체를 초기화하는 역할을 합니다.new
키워드와 함께 사용하는 함수를 가지고 생성자라고 부릅니다.
OOP & Instance
생성자를 통해 생성된 객체를 그 생성자의 인스턴스
라고 합니다.
1 | //person1이 Person의 인스턴스입니다. |
참고한 자료및 주소
https://medium.com/@bluesh55/javascript-prototype-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-f8e67c286b67