728x90
반응형
Flutter 언어인 Dart에서 final과 const의 차이
공통점
- 둘 다 선언된 변수의 값을 변경할 수 없다.
- 변수 타입을 생략 가능하다.
final String name = '둘리';
const String name2 = '또치';
name = '희동'; // 에러 발생
name2 = '도우너'; // 에러 발생
------------------------------------------------------
final name3 = '마이콜';
const name4 = '고길동';
차이점
- const는 빌드 타임에 값을 알고 있어야하고 final은 빌드 타임에 값을 몰라도 됨.
즉, const는 빌드를 하기 전에 이미 값을 알고 있어야 하며 final은 빌드를 해야만 값이 들어가는 것이여도 상관 없음.
// DateTime.now() 는 현재시간을 나타내는 함수
// 코드 실행 시 now와 now2중에서 now가 먼저 실행 되고 이후에 now2가 실행되므로 값이 다름
// 즉, 빌드를 하기 전에 값이 있는 것이 아니라 빌드를 하고 나서 해당 함수가 실행되어야 값이 들어감
DateTime now = DateTime.now();
DateTime now2 = DateTime.now();
----------------------------------------------------------
final DateTime now3 = DateTime.now(); // 실행 가능
comst DateTime now4 = DateTime.now(); // 에러 발생 (빨간줄 뜸)
728x90
반응형
'Flutter > 개발 정보' 카테고리의 다른 글
Flutter 이미지 추가하기 (0) | 2023.06.07 |
---|---|
Dart의 arrow함수와 typedef (2) | 2023.03.11 |
Dart에서 여러 파라미터 정리 (0) | 2023.03.11 |
Dart의 enum (0) | 2023.03.11 |
Dart의 var 와 dynamic (0) | 2023.03.11 |