프로토타입
자바스크립트가 프로토타입 기반 언어 라고 불리는데 이 모든 객체들이 메소드와 속성들을 상속 받기 위한 템플릿으로써 프로토타입 객체를 가진다는 의미
- 객체 생성과 프로토타입:
- 객체를 생성할 때 자동으로 프로토타입이 설정됩니다.
- 생성자 함수로 만든 객체는 그 함수의 prototype 프로퍼티를 프로토타입으로 가집니다.
메모리 효율성
Javascript에서 모든 객체는 프로토타입을 공유한다.
객체 자체가 스스로 메소드와 속성을 모두 가지는 대신 여러 객체가 동일한 프로토타입을 공유하도록하고 이를 사용하면 메모리를 효율적으로 사용할 수 있다.
객체지향스러움
프로토타입을 통해 클래스에서 상속해 사용하는 것 처럼 다른 객체로부터의 속성과 메소드를 사용할 수 있다.
프로토타입 체인을 통해 가능한 것이며 이를 통해 코드 재사용이 가능해진다.
생산성
프로토타입을 통해 동일한 속성, 동작이 필요한 여러 객체들마다 이를 직접 선언하고 개발할 필요 없이 프로토타입을 이용해 관리할 수 있다.
클래스도 프로토타입으로 구현되어있다 원영객체