현재 실행 되고 있는 Dart 가상머신(VM)에 변경된 소스를 전달한다.
그러면 가상머신은 새로운 버전의 필드 및 함수로 클래스를 업데이트한 후 위젯트리를 재빌드한다.
이때 state를 유지하며 main() 이나 initState는 다시 실행 되지않는데, 이유는 hot Reload 과정에서는 state 객체를 새로 생성하지 않고 위젯만 리빌드하기 때문이다.
디버그 모드에서만 가능하고 릴리즈 모드에서는 불가능합니다
다트 컴파일(dart2native)라는 컴파일러를 사용하는데 2가지 방식이 존재한다.
방식의 차이에는 컴파일을 하는 시점에 따라서 나누어진다.