1. final & const
공통점 :
둘다 한번 정의하면 재정의 불가.
차이점 :
final : runtime시에 정의할 수 있다. 즉 선언시에 값을 할당하지 않아도 되나, 이후에 한번 할당되면 변경불가다.
const : compile시에 값이 결정되어야 한다. 즉 변수선언과 동시에 값이 할당 되어야 한다. 한번 메모리에 로딩되면 GC에 의해 정리되지 않고 필요시 재사용되어 메모리관리에 효율성을 높인다.
추가로
late : NULL을 허용하지 않는 변수이나 나중에 초기화 할 수 있도록 지정한다. 즉 late키워드는 값의 초기화를 뒤로 미루지만, 개발자가 null을 실수로 사용하는것을 막아준다.
2. var & dynamic
공통점 :
입력받은 값에 따라 자료형 결정.
차이점 :
var : 한 번 결정된 자료형은 변경 불가.
dynamic : 다른 자료형 변수 할당되면 자료형 변경 가능.