본문 바로가기
Mobile/Flutter

[Flutter] 상수 (const, final)

by C_Meaning 2023. 11. 7.
728x90

상수 변수(constant variable)는 프로그램에서 값을 한 번 할당하면 이후에는 그 값을 변경할 수 없는 변수를 가리킵니다. 다시 말해, 한 번 값을 할당하면 그 값이 프로그램 실행 도중에 변경되지 않는 변수를 의미합니다. 이러한 변수는 일반적으로 변하지 않는 값, 상수, 또는 설정값을 나타내는 데 사용됩니다.

 

1. const


const 는 컴파일 시 상수가 되는 변수입니다.

const 변수를 사용 시에는 선언과 동시에 초깃값을 대입하여 초기화를 해준 뒤 사용합니다.

const String value1 = "안녕하세요";
const String value2; // Error. 초깃값 대입 안함

void main() {
	value1 = "제 블로그에 오신것을 환영합니다"; // Error. 값 변경 불가
}

Class MyFunc {
	static const String value3 = "좋은 하루 되세요.";
    	const String value4; // Error. 클래스 내 선언 시 static을 붙여야함 
}

 

 

2. final


final 은 런타임 도중에 상수가 되는 변수입니다.

const 변수와 달리 초깃값을 대입하여 선언할 필요가 없고 변수를 사용하기 이전에 값을 대입하기만 하면 에러 없이 사용할 수 있습니다.

 

final String value1 = "안녕하세요";
final String value2; //Error. 전역변수로 사용 시 초깃값을 대입해야 합니다.

void main() {
	final String value3;
	value3 = "제 블로그에 오신것을 환영합니다";
    	print(value3);
}

 

 

3. 문자열 템플릿


상수 변수를 문자열 템플릿 사용 시에는 const 상수 변수는 반드시 동일한 const 상수 타입의 변수를 사용해야합니다.

 

void main() {
	String str1 = "안녕하세요";
    	const str2 = "제 블로그에 오신 것을 환영합니다";
    	final str3 = "좋은 하루 되세요.";

	String str4 = '$str1, $str2, $str3';
    	const String str5 = '$str2';
    	const String str6 = '$str1, $str2, $str3'; //Error. str1, str3 변수는 const 상수 타입이 아닙니다.
    	final String str7 = '$str1, $str2, $str3';
}
728x90

댓글