2022 / 8 / 9 화
- 객체지향 프로그래밍
✔ 객체지향 프로그래밍
코끼리는 코가 길다 /성격이 온순하다 / 귀가 크다 와 같은 코끼리 특성과 같이
구조화 프로그래밍과 비교했을 때 객체지향의 특성에는 추상화와 캡슐화가 있다.
우리의 목표는 Real world에 있는 object를 computing의 object로 만드는 것.
Real world object = 환자
computing object =
Data - 1. 환자의 반드시 필요한 data
2. 객체 지향 설계에 부합되는 data
Function - 3. method
추상화 : 중요한 것은 무엇인가? 환자의 반드시 필요한 data / 객체 지향 설계에 부합되는 data
캡슐화 : 환자의 반드시 필요한 data / 객체 지향 설계에 부합되는 data / method
✨알아두면 좋은 용어 / 디지털트윈
디지털 트윈 (Digital twin)
현실세계의 기계나 장비, 사물 등을 컴퓨터 속 가상세계에 구현한 것
가상공간에 실물과 똑같은 물체(쌍둥이)를 만들어 다양한 모의시험(시뮬레이션)을 통해 검증해 보는 기술
추상화 : key 와 value 형식
자바스크립트에서 추상화를 한다는 것은
> 필요한 정보를 뽑아낼 때key와 value형식으로 뽑아낸다.
궁극적인 목표는 key를 이용하여 value에 접근하는 것!
- 자동차를 만들때 중요한것은 무엇인가를 파악한다
- 타이어, 핸들, 엔진, 문, 유리 , 라이트, 거울, 시트 , 기아, 속도계 등등등,, 이 있어야한다.
- 이를 잘 묶어서 object화를 해야한다. soled(객체 지향 설계)를 지키면서 !
⚙️ 추상화 문제를 풀어보자
✔️ 정리
JS data - type
- 기본 data - type(primitive data type) : global / stack 영역
- object data - type : heap 영역
object data
heap영역에 배치되는 것은?
- Array
- object ( 여기서 말하는 object는 object data와 다른 의미임)
- class
heap에 allocation 되는 방법에는 2가지가 있다.
- object literal
- new
위 두 가지를 써서 heap영역에 올라가면 object인가? YES!
기본 data영역에 해당되지 않는 것들은 기본적으로 object를 갖고 있다.
object에는 아래와 같은게 들어갈 수 있음.
- 우리가 원하는 attribute ( key , value )
- 우리가 원하는 function ( method )
- prototype
'🏃♀️ Do it ! > TIL' 카테고리의 다른 글
scope / 문서객체모델 (0) | 2022.08.11 |
---|---|
객체지향 / prototype /JSON / font (0) | 2022.08.10 |
forEach / map / filter / Arrow / 즉시호출 / time (0) | 2022.08.08 |
함수의 메모리 적재 / 가변 파라미터 / 전개 연산자 / 디폴트 파라미터 / Callback / forEach (0) | 2022.08.05 |
메모리 모델 / 디버거 / 디버깅 (0) | 2022.08.04 |