자바스크립트에는 Object, Function, Array 등과 같이 다양한 기본 객체들이 있고 모든 객체는 자바스크립트의 객체 대빵인 Object를 확장하고 있다. 이러한 면을 보면 Java와 굉장히 비슷해 보여서 객체지향 언어라고 생각하기 쉽다. 하지만 자바스크립트는 이벤트와 함수 기반 언어이고 객체지향언어는 아니다. 자바스크립트는 함수 기반 언어인 Scheme을 기반으로 만들어진 뒤 Java에서 다양한 개념들을 가져왔다. 따라서 객체지향 언어는 아니지만 이에 비슷한 특징들을 지원한다. 여기서 프로토타입(Prototype)이라는 것이 나온다. 자바스크립트는 객체지향 개념을 지원하기 위해 프로토타입을 사용한다. 프로토타입을 이용해 대표적으로 구현할 수 있는 개념은 "상속" 이다. 그럼 프로토타입이 무엇..