JavaScript 객체 지향 프로그래밍 - 15. prototype vs proto

Sdílet
Vložit
  • čas přidán 8. 04. 2019
  • 생활코딩은 일반인에게 프로그래밍을 알려주는 활동입니다. 더 많은 정보를 원하시면 opentutorials.org/course/1 를 방문해주세요.
  • Věda a technologie

Komentáře • 22

  • @shinmini99
    @shinmini99 Před rokem +2

    2년전 처음 프로그래밍에 입문하던 시절, 선생님의 말씀이 잘 이해가 안돼 스스로에게 분했습니다.
    2년 후 지금 선생님이 문득 생각나 강의를 다시 정주행 중입니다.
    시간이 지나고 보니 선생님께서 하나의 강의를 설계하시며 얼마나 고안하셨을지 생각에 잠깁니다.
    선생님을 통해 프로그래밍에 입문할 수 있었음을 자랑스럽게 말할 수 도록, 실력있는 개발자가 될 수 있도록 정진하겠습니다.
    늘 귀감이되는 영상 만들어주셔서 감사합니다.👏👏

  • @minwoopark1571
    @minwoopark1571 Před 3 lety +1

    prototype와 proto이 무엇인지 모르는 상태에서 영상 덕분에 둘의 차이점까지 배우고 갑니다~ 감사합니다

  • @SK_hynix
    @SK_hynix Před rokem +1

    항상 잘 보고 있습니다. 감사합니다!

  • @user-xn5ys3xu9p
    @user-xn5ys3xu9p Před 3 lety +1

    영상보고나니 클로저가 이해가 됐어요! 감사합니다

  • @jiyong6000
    @jiyong6000 Před 2 lety +1

    하하하하하 초반 물리학자 비유하신거 정말 터졌습니다 항상 잘 보고있습니다 선생님 사랑합니다 !

  • @brucegwon
    @brucegwon Před 2 lety +5

    그림에서는 부모가 어딘가 분리된 prototype 객체를 가리키고
    자식 역시 __proto__ 를 통해 prototype을 가리키는 걸로 표현되어 있어
    헤깔리기도 하고 저도 네이밍이 이상하다고 생각했는데,
    조금 더 들여다보니 부모는 prototype 객체를 '실제로' 가지고, 자식은 __proto__라는 참조만을 가집니다.
    따라서 __proto__ 는 부모의 prototype 객체 출력하는 내장함수이므로 네이밍은 적절하다고 생각합니다.

  • @user-pp1bk6jh9y
    @user-pp1bk6jh9y Před 3 lety

    고잉님 이거보고 이해되었어요 >_< 감사합니다!!!

  • @user-dk1zf6bt6r
    @user-dk1zf6bt6r Před 2 lety

    감사합니다 행복하세요~

  • @dkc7685
    @dkc7685 Před 5 lety

    질문이 있는데요~ 아래와 같이 prototype Chain 에서 Person(부모)에서 Child(자식)가 상속받는 경우에서요
    function Person() {}
    function Child() {}
    Child.prototype = new Person(); ->>여기서 Child객체가 Person을 가르키는건가요? 아니면 Child prototype 객체가 Person을 가르키게 되는건가요??

  • @user-wy1ik4nn7m
    @user-wy1ik4nn7m Před 3 lety +2

    사람한명 살리셨습니다

  • @user-nw7pm2lw7i
    @user-nw7pm2lw7i Před 5 lety

    Person의 prototype은 말 그대로 prototype object를 가집니다.
    그리고 객체들의 __proto__는 prototype이 가리키고 있는 object로 향하는 링크를 갖습니다.
    사실 뭔차인지는 잘 모르겠지만,
    아무튼 prototype이 바뀌면 __proto__들도 prototype이 가지는 객체가 바뀌니 같이 값이 바뀔듯 합니다.

  • @jhjh593
    @jhjh593 Před 3 lety

    감사합니다...!

  • @defa6263
    @defa6263 Před 3 lety

    감사합니다

  • @ccolle74
    @ccolle74 Před 3 lety

    그렇죠... 모든 것을 다 이해하거나 암기 할 수는 없죠...;; 강의 잘 보고 갑니다~

  • @iil3.378
    @iil3.378 Před 3 lety

    Person 과 Person`s prototype 는 부모 자식 관계라고 해도 되나요?

  • @user-nw7pm2lw7i
    @user-nw7pm2lw7i Před 5 lety

    2:17에 등장하는게 동일하다고 하셨는데
    var Person = function(){}과 동일한거 아닌가용??

    • @user-nw7pm2lw7i
      @user-nw7pm2lw7i Před 5 lety

      function Person(){}이랑

    • @ray-di6ju
      @ray-di6ju Před 4 lety

      var person은 말그대로person이라는 변수를 만들고 그 안에 함수를담는다는 의미아닐까요?

    • @azkjhg364
      @azkjhg364 Před rokem

      함수도 객체이기 때문에 "new 객체" 문법 즉 생성자로 사용할 수 있다는 뜻이 아닐까 싶은데 확실치는 않네요.

  • @user-um6bz9pz7w
    @user-um6bz9pz7w Před 3 lety +2

    지금의 저로써는 아무리 생각해도 마땅히 정의할 말이나 간단하게 설명할 방법이 떠오르지 않기에 후에 보실 분들을 위해 간단하게 저의 생각을 거칠게 표현하겠습니다.
    저는 prototype과 __proto__ 둘다 모두 암살자 혹은 뒷돈 혹은 뇌물이라고 하겠습니다.
    함수를 생성자로 이용해 객체를 만들면 그순간 함수의 prototype 과 함수를 통해 만든 객체의 __proto__는 같은 것이 됩니다. 심지어 객체.__proto__.메서드라고 하지않고 객체.메서드라고 호출해도 다 되죠. 즉, prototype과 __proto__는 있으면서도 없는것처럼 움직이고 없는것처럼 보여도 엄연히 존재하는 "객체"라고 생각합니다.
    특히 다른 값들 예로들어 문자열이나 숫자 불리언 들은 prototype이 없는데 함수만 만들어 지는 즉시 prototype이라는 프로퍼티를 자동으로 달고 있습니다. 이는 함수만이 생성자가 될 자격이 있고 생성자는 객체를 만드는 공장이니까 그냥 자바스크립트 창조자가 편하게 쓰려고 prototype과 __proto__를 넣은 것이거나 본디 객체지향 언어의 컨샙인듯 합니다.
    쓰다보니 또길어지네요.. 그냥 이해하려 하지 말고 익숙해집시다

    • @where9810
      @where9810 Před 3 lety

      감사합니다. 이해하려고 하지말고 반복해서 익숙하게 하는게 마음에 편할것같습니다. 그렇구나 하고 넘어가야지 분석하고 파고 들면 끝도 없습니다.

  • @ill-young
    @ill-young Před 3 lety

    아니 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
    프로토타입 공부하고나서 좀더 자세히 공부하기 위해
    프로토타입 오브젝트, 링크, 체이닝 열심히 공부했더니 헛방쳤나 보네 아;;;;;;;;;;;;
    생활코딩님이 까먹을 정도면 진짜 쓰잘데기 없는 지식이라는거잔항 ㅠ