전통적인 방식으로 웹페이지를 구성할때,
규모가 크고 인터랙션이 자주 발생한다면 코드가 난잡해지기가 쉬움.
(이벤트, 상태값, DOM이 모두 다양할 경우)
↓
상태에 따라 DOM 을 어떻게 업데이트 할 지 규칙을 정하는 것이 아니라,
아예 다 날려버리고 처음부터 모든걸 새로 만들어서 보여주면 어떨까?
↓
항상 새로만들어 보여준다면 속도 성능이 좋지 못할 것
Virtual DOM으로 가능하게함.
↓
리액트는 상태 업데이트 시에 업데이트가 필요한 곳의 UI를 가상의 DOM에 렌더링 한 후 실제 브라우저와 차이가 있는 곳을 감지하여 패치하는 형식
**Virtual DOM (가상의 DOM)**
메모리에 가상으로 존재하는 DOM으로서 JavaScript 객체