❶ 객체지향 프로그래밍 (OOP, Object Oriented Programming)

(1) 코드의 간결함을 유지하고, 재사용성을 향상하기 위한 프로그래밍 방법론
(2) 프로그램을 명령어의 나열이 아닌 독립된 개념들의 상호작용으로 바라보는 것
(3) Class 와 Object 개념을 활용
(4) Class 로 Object 의 상태와 기능을 기술할 수 있고, 이를 이용하여 Object 를 생산할 수 있음

❷ OOP 를 이해하기 위한 필수 개념

(1) 객체(Object) : 특정 정보를 구성하는 독립적인 개념 / 단위를 일컫는 말 (주로 현실과 연관)
(2) 클래스(class) : 객체를 생성할 수 있는 내부 변수와 함수를 정의한 설계도 (붕어빵 틀)
(3) 멤버변수(member variable) : 클래스 객체의 각종 상태값을 저장하고 있는 자체 변수
(4) 메서드(method) : 클래스 또는 클래스 객체가 보유한 자체 함수
(5) 생성자(constructor) : 클래스로 객체를 생성할 때 사용하는 객체 초기화 함수
(6) 인스턴스 (instance) : 클래스를 이용해 생성된 메모리에 올라간 객체 (객체 생성 코드가 실행 된 것)
(7) 캡슐화(encapsulation) : 객체의 상태 정보와 기능을 클래스라는 테두리 안에 가두어 설계하는 것
(8) 상속(inheritance) : 이미 존재하는 클래스를 기반삼아 더 확장된 기능을 가진 클래스를 만드는 것

❶ JS에서 OOP 하기

(1) 일반적인 OOP 언어들은 class-based language 이다. (대표적으로 java, python 등)
(2) javascript 는 prototype-based language 라고 불린다.
(3) javascript 는 모든 객체가 기본적으로 Object 라는 built-in prototype 을 탑재하고 있다.
(4) 생성자 함수와 new 라는 키워드만 있으면 새로운 프로토타입을 만들 수 있다.

✏️ OOP 용어 JS 버전
동일한 것 제외
(1) 클래스(class) ➡️ 프로토타입 (prototype)lㅣ
(2) 멤버변수 (member variable) ➡️ 프로퍼티 (property)

❶ 프로토 타입이란?

(1) js 에서 어떠한 객체(개념)를 설계할 수 있는 수단이다.
(2) js 에서 객체의 설계도를 상속 받을 수 있는 메커니즘
(3) 프로토타입 체인 : Prototype 을 이용한 상속의 연결고리

✏️ 프로토타입 엑세스 방법
(1) obj.__proto__
(2) Object.getPrototypeOf(obj)

profile
#UXUI #코린이

0개의 댓글