[JS/Node] 객체 지향 JavaScript 리뷰

소금·2021년 9월 4일
0
post-thumbnail

Chapter. 클래스를 이용한 모듈화


🌿class & instance

객체 지향 프로그래밍은 절차 지향 프로그래밍과 다르게
데이터와 기능을 한 곳에 묶어서 처리
한 객체에는 속성, 메소드가 포함되며 class 라고 불리움
코드를 추상화하여 직관적으로 생각할 수 있음

하나의 모델이 되는 청사진 class를 만들고,
그 청사진을 바탕으로 한 객체 instance를 만듬

Chapter. Prototype


🍀 object oriented programming

OOP는 객체로 그룹화되고,
객체를 만들고 나면 메모리상에서 반환되기 전까지
객체 내의 모든 것이 유지됨

클래스,세부 사항(속성)이 들어가지 않은 청사진 =>
인스턴스, 생성자 constructor로 속성을 추가하여 객체 생성

  • 캡슐화 : 데이터(속성)와 기능(메서드)을 하나의 단위로 묶는 것
    느슨한 결합 - 코드 실행 순서가 아닌 코드가 상징하는 실제 모습과 닮게 코드를 모아 결합 - 에 유리, 언제든 구현을 수정할 수 있음, 재사용성을 높임
    은닉화, 내부 데이터나 내부 구현이 외부로 노출되지 않음

  • 상속 : 부모 클래스의 특징을 자식 클래스가 물려받는 것 super extends

  • 추상화 : 내부 구현은 복잡하나 실제 노출은 단순하게 함 - 인터페이스의 단순화

  • 다형성 : 같은 이름을 가진 메서드라도 클래스에 따라 다르게 작동할 수 있음

🍀 class & prototype

JavaScript는 프로토타입(원형 객체) 기반 언어

class constructor, protortpe, instance 사이 관계

__proto__를 이용하면 부모 클래스의 프로토타입, 혹은 '부모의 부모 클래스'의 프로토타입을 탐색할 수 있습니다.

profile
Salty as Salt

0개의 댓글