2025-09-22
Complie
사람이 이해하기 쉽게 작성된 것을 고급 프로그래밍 언어라고 하며, 이를 저급 프로그래밍 언어로 바꿔야 실행할 수 있다.
이 변환 과정을 컴파일이라고 하며 컴파일은 ‘컴파일러’에 의해 이루어진다.
컴파일러에는 두 가지 방식이 있다
JIT(Just-In-Time)- 런타임 시점에 코드를 컴파일한다.
AOT(Ahead-Of-Time)- 프로그램을 실행하기 전에 미리 기계어로 컴파일한다. 앱 시작 속도가 빠르고 배포 환경에서 안정적이다.
Dart언어에서는 JIT와 AOT 방식을 모두 사용한다.
따라서 개발 중에는 JIT로 Reload가 가능하고 실제 배포 단계에서는 AOT로 최적화된 실행 파일을 제공한다.
SDK
SDK는 개발에 필요한 컴파일러, 표준 라이브러리, 디버깅/테스트 도구, 문서, 패키지 관리자 등이 포함된 패키지다.
별도의 복잡한 설정 없이도 개발을 시작할 수 있게 해준다.
final과 const
final: 런타임 상수. 한 번 값이 할당되면 변경할 수 없지만, 런타임에 값을 할당할 수 있다.const: 컴파일 타임 상수. 컴파일시 값이 확정되는 상수, 런타임에는 할당할 수 없다.
예를 들어 API 응답처럼 실행 후에만 알 수 있는 값은 const를 사용할 수 없고 final로 선언 한다.