프로토타입 상속에 대해 공부한 내용을 정리한다.
객체지향이란, 결국 효과적으로 유지보수를 하기 위해 존재한다.
이를 위해 자바 또는 c#등의 언어에서는 클래스(class)를 사용한다.
하지만 JS는 클라스 방식이 아니다. (es6에 생겼지만 다르다.)
더 심플하며, 이해하기 쉬운 단순한 개념인 '프로토타입'이 있다.
(하지만 나는 왜 프로토타입이 이해하기 어려울까..?)
상속: 객체가 다른 객체의 프로퍼티와 메소드에 접근성을 갖는 것 이다.
클래시컬 상속: 잘 알려져있으며 java , c#등에 쓰인다.
단점: verbose. 커지면 너무 복잡하다. 어렵다.
프로토타입 상속:
간단하고 유연하다 확장성이 있으며 쉽게 이해할 수 있다.
그렇다면 프로토타입은 무엇인가.
또, 다른 프로토타입을 가질 수 있다.
객체들은 이 프로토타입을 공유할 수 있다.
함수를포함한 모든 객체는 '프로토타입 property가있다.'
프로토타입 체인 (스콮체인과다름)으로 상속 가능.
뭔가 객체에서 가르키는곳이 있어서. special reference, 다른 메소드와 props에 접근 가능.