객체지향, 프로토타입

Steve·2021년 12월 5일
0

객체지향 프로그래밍이란?

여러 객체의 조합을 통해 프로그래밍하는 패러다임
데이터와 기능을 한데 묶는다.

객체지향 프로그래밍의 특징

  1. 추상화 - 복잡한 것을 단순화함. 필요한 것만 간추려서 만드는 것.
  2. 캡슐화 - 변수와 함수를 하나로 묶어서 정의하는 것.
  3. 상속 - 상위 개념의 특징을 하위 개념이 물려받는것
  4. 다형성 - 부모클래스에서 물려받은 가상함수를 자식클래스 내에서 오버라이딩 되어 사용하는것

프로토타입이란

자바스크립트의 모든 객체는 프로토타입이라는 객체를 가진다.
모든 객체는 그들의 프로토타입 객체로부터 프로퍼티와 메소드를 상속받는다.

프로토타입 체인이란

모든 객체는 Object.prototype 을 가지고, 다른 객체, 예를들어 배열은 배열 프로토타입을 가지며, 배열 프로토타입은 다시 Object.prototype 을 가진다. 이 연결고리를 프로토타입 체인이라고 한다.

자바스크립트에서 class 의 한계

  1. 은닉화x. private 이 없음.
  2. 추상화x. (interface)

기타

함수 오버로딩 없음
멤버 함수 오버라이딩 있음 - 부모객체와 자식객체가 같은 이름의 함수가 있을경우 자식쪽의 함수가 호출됨.

profile
게임과 프론트엔드에 관심이 많습니다.

0개의 댓글