TIL 25일차 Class, prototype

shleecloud·2021년 8월 23일
0

Codestates

목록 보기
26/95

들어가며

Section 2가 시작됐다. 첫 수업은 그동안 다루지 않았던 class, prototype이다. 단순 구현은 어려운 부분이 없었다. 단순한 구현의 원리와 뒤에 돌아가는 구조에 대한 이해가 힘들었다.

  • prototype, __proto__, [[prototype]] 3개가 굉장히 햇갈린다. 작동하는 부분은 다른데 이름이 비슷하니까 더 햇갈린다.

  • this가 어렵다. 인스턴스 그 자체를 this라고 심플하게 이해하는 건 좋다. super도 상위 객체를 의미한다고 이해하는 것도 좋다.
    문제는 왜 화살표 함수에 thissuper는 쓰지 못하는지 이해하는게 어려웠다.

  • window객체가 어떤 의미인지, 무얼 표기하는지 내 자신이 납득하지 못했다.

Section2 오자마자 숙제를 잔뜩 받았다. 구멍뚫리고 아쉬운 부분이 많지만 오늘 다 정리하겠다는 것은 욕심이다. 페어 시간에 과제는 빠르게 끝났으나 원인에 대해서 찾아본다고 한계까지 달리고 곧바로 스프린트 리뷰. 질문 답변까지 끝나고 15분만에 라면 끓여먹으면서 본 글쓰기 기술까지. 과부하상태다.
상세한 개념은 주말로 돌리는게 맞다. 내일, 내일 모래 배우는 재귀함수도 개념을 익히는 파트라서 정리할 시간이 생긴다. 그래서 오늘은 여기까지. 시작하자마자 퍼지지말고 템포 조절하자.

Class를 통한 모듈화

  • 클래스와 인스턴스라는 용어를 이해할 수 있다.
    • new 키워드의 사용법을 이해할 수 있다.
    • class 키워드의 사용법을 이해할 수 있다.
    • 현실 세계의 모델을 바탕으로 클래스의 메소드와 속성을 디자인할 수 있다.
  • 객체 지향 프로그래밍 특징을 이해할 수 있다.
    • 캡슐화
    • 상속
    • 추상화
    • 다형성
  • JavaScript에서 객체 지향 프로그래밍을 구현할 수 있다.
    • Prototype이 무엇인지 이해할 수 있다
  • 객체 지향 프로그래밍의 상속(Inheritance)의 개념을 이해하고 코드로 작성할 수 있다.
    • 상속관계를 가진 현실 세계의 모델을 코드로 작성할 수 있다.
    • 클래스 상속의 원리를 이해할 수 있다.
    • Prototype chain을 이해하고 설명할 수 있다. (__proto__)

객체 지향 프로그래밍

  • 추상화와 캡슐화는 어떻게 다른가요?
  • 인터페이스(Interface)란 무엇일까요?
  • JavaScript에서 class 키워드를 사용하면, 메소드의 은닉이 가능한가요?
profile
블로그 옮겼습니다. https://shlee.cloud

0개의 댓글