클래스 vs 프로토타입


  • Level 6

    Node.js 공부중인데 클래스와 프로토타입의 차이에 대해 설명이 나와있지만 제가 이해하기에는 조금 부족한 느낌이라 둘의 차이를 크게 못느끼겠어서 혹시 이 둘의 차이에 대해 설명해주실 분 없을까요?

  • Level 4

    이거 류X모씨가 작성한 예전 node.js 책에 있는 내용인데 지금은 감을 잃어서 제대로 이해하고 쓴 정확한 표현인지 모르겠네요.

    자바스크립트는 C++ 과 Java 가 가지고 있는 전통적인 객체지향 컨셉과는 약간의 차이점을 가지
    고 있다 . 이 점에 대해서 확실히 이해하려면 방금 설명한 클래스 개념이 사실은 자바스크립트에서 존재
    하지 않는다 는 사실 을 받아들 여야 한다 . 다시 말해 자바스크립트에서 모든 것들은 객체에 기반하고 있다
    는 사실이다 . 자바스크립트에서는 원형 Prototype 이라는 표기법이 있는데 , 이를 이용해서 객체가 생성되게
    된다 . 하나의 예를 들자면 , 전통적인 객체 지향 컨셉에서는 「 박지성이라고 불리는 새로운 객체를 축구
    선수라는 클래스를 이용하여 생성한다 」 라는 개념이 자바스크립트와 같은 원형 적 Prototypal 객체 지향 언어
    에서는 「 축구 선수라는 객체를 재사용하여 이것을 하나의 원형으로서 밑바탕에 깔고 박지성이라고 불
    리는 새로운 객체를 생성한다 」 라는 개념으로 조금은 바뀌어 설명될 수 있는 것이다 조금 더 이해를
    돕기 위한 예로써 붕어빵을 만든다고 해보자 . 전통적인 객체지향 컨셉에서는 붕어빵을 만들기 위한 틀을
    클래스 개념으로 볼 수 있다 . 이 틀이 붕어빵의 모 양과 크기 등과 같은 특성을 결정한다 . 이 틀과 적당
    한 재료만 있으면 우리는 똑같은 붕어빵을 만들어낼 수 있다 . 하지만 자바스크립트의 원형적 객체 지향
    언어에서는 붕어빵 틀이 따로 존재하지 않는다 . 어디선가 구한 붕어빵을 가지고 붕어빵 장수를 찾아가
    이 붕어빵과 똑같은 붕어빵을 만들어 달라고 할 뿐이다

  • Level 1

    https://raganwald.com/2013/02/10/prototypes.html

    관련 레퍼런스 입니다. 도움이 되실 것 같아요!

ONLINE USERS

POPULAR TOPICS

SUGGESTED TOPICS