내부 상태의 일관성을 위해 Redux같은 것을 사용
다이얼로그 기반에 프로그래밍이 프론트엔드 프로그래밍.
Tetris
실시간 기반 프로그래밍임.
시간이 흐르고 있는데 지속적으로 처리해줘야하는 상황
난감한 프로그래밍을 어떻게 데이터 분석을 하는가? ⇒ 개체지향으로 풀기.
제품을 만드는 프로그래머는 함부로 모델링을 축소하면 안된다.
개체지향은 추상화를 뜻한다.
추상화
- 카테고라이제이션(분류)
어떤 특징들을 선별하여 추상화 시킴. 다른 것들은 숨김. (병렬 카테고라이즈, 종속 카테고라이즈)
- 모델링
건담 프라모델. 건담에서 프라모델에서 표현하고 싶은 것만 표현함. 즉, 현실세계의 실물에서 내가 기억해야할 것만 모아둔 것을 모델링. 이해하고 다뤄야만 하는 특징. ⇒ 데이터 분석을 통해 기억해야하는 것을 정하는 행위
- 집합
그냥 모아둔 것. 무작위적인 그룹핑.
추상화를 이해하고 추상화 기법을 이용해서 모델링 ⇒ 개체지향프로그래밍을 개발한다.
개체지향프로그래밍과 개체지향시스템
- 대체가능성
구상클래스가 추상클래스를 대체할 수 있다.
- 내적동질성
프로토타입 체이닝으로도 같은 특성을 지님
개체지향에서 개체끼리 통신할 때 지켜야될 룰
- 은닉
내 데이터를 숨긴다. 아무것도 안보여주는게 이상적.
- 캡슐화
ATM기. 은닉과 관계없음. 보다 다른 사람이 모르게 한다. 뭘 하는지 모르게 한다. 추상화된 기능만 보여준다. 여러가지 인증과정과 같은 기능을 알 필요 없게 한다.