리액트가 만들어진 이유 인터렉션이 자주 발생하고 이에따라 동적으로 UI를 표현해야 된다면 규칙이 너무 많아지고 관리도 힘들어진다. DOM을 직접 건드리며 작업하면 코드가 난잡해지기 쉽다. -> 그래서 나온 Ember, Backbone, AngularJS 등의 프레임워크 작동 방식을 쉽게 설명하자면 특정 js 값이 바뀌면 특정 dom 이 바뀌게 연결, 업데이트(작업 간소화) 리액트는 어떤 상태가 바뀔 때 DOM을 업데이트 하는게 아니라 아예 날리고 새로 만들어서 보여주면 어떨까 라는 아이디어로 시작 -> 어떻게 업데이트할지 고민X 하지만 실제로 다 날리고 새로 만들면 속도가 엄청 느려질 것 ->> 이걸 가능하게 해주는 Virtual DOM 말그대로 가상 DOM, 브라우저에 실제로 보여지는 게 아닌 메모리에..