prototype (JS)

KIMMY·2020년 7월 21일
0

프로토타입 상속에 대해 공부한 내용을 정리한다.

  1. 객체지향

객체지향이란, 결국 효과적으로 유지보수를 하기 위해 존재한다.
이를 위해 자바 또는 c#등의 언어에서는 클래스(class)를 사용한다.
하지만 JS는 클라스 방식이 아니다. (es6에 생겼지만 다르다.)

더 심플하며, 이해하기 쉬운 단순한 개념인 '프로토타입'이 있다.

(하지만 나는 왜 프로토타입이 이해하기 어려울까..?)

  1. 클래시컬 상속 vs 프로토타입 상속

상속: 객체가 다른 객체의 프로퍼티와 메소드에 접근성을 갖는 것 이다.

클래시컬 상속: 잘 알려져있으며 java , c#등에 쓰인다.

단점: verbose. 커지면 너무 복잡하다. 어렵다.

프로토타입 상속:
간단하고 유연하다 확장성이 있으며 쉽게 이해할 수 있다.

그렇다면 프로토타입은 무엇인가.

  1. 프로토타입:
    JS의 대부분이 그렇듯 프로토타입 또한 '객체'이다.

또, 다른 프로토타입을 가질 수 있다.

객체들은 이 프로토타입을 공유할 수 있다.

함수를포함한 모든 객체는 '프로토타입 property가있다.'

프로토타입 체인 (스콮체인과다름)으로 상속 가능.

뭔가 객체에서 가르키는곳이 있어서. special reference, 다른 메소드와 props에 접근 가능.

profile
SO HUMAN

0개의 댓글