본문 바로가기

Flutter/개발 정보

Dart의 final과 const

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