변수 (Variables)

변수는 다음과 같이 생성하고 초기화 한다.

var name = 'Bob';

변수를 문자열로 초기화 하였으므로 컴파일러는 유추하여 String타입으로 컴파일을 하게 된다.

특별한 타입을 지정하지 않고 변경 하려면 dyanmic을 지정한다. dynamic은 컴파일러가 유추하여 지정하는 var와 다른 점에 주의 해야 한다.

dynamic name = 'Bob';
name = 45;

아래처럼 타입을 명시적으로 지정할 수도 있으며 컴파일러나 개발자가 코드를 읽을때 보다 명확해 진다.

String name = 'Bob';

기본값 (Default value)

코드에서 명시적으로 초기화 되지 않은 변수는 null로 초기화 된다.

int lineCount;
assert(lineCount == null);

final과 const

변수의 값을 변경하지 않으려면 var 대신 또는 타입에 final 또는 const를 사용한다. final 변수는 한 번만 설정할 수 있다. const 변수는 컴파일 타임 상수이다. (const 변수는 암시적으로 final 변수이다.) final 최상위 또는 클래스 변수는 처음 사용될 때 초기화된다.

final name = 'Bob';
final String nickname = 'Bobby';

변수 값을 변경하려고 하면 오류가 발생한다.

name = 'Alice'; // 오류!

const는 컴파일 타임(compile-time) 상수이다. const 변수가 클래스 수준에 있으면 정적 const로 표시한다. 변수를 선언 할 때 숫자 또는 문자열 리터럴, const 변수 또는 상수에 대한 산술 연산의 결과와 같은 컴파일 타임 상수로 값을 설정한다.

const 키워드는 상수 변수를 선언하기 위한 것이 아니다. 또한 이를 사용하여 상수 값을 생성하고 상수 값을 생성하는 생성자를 선언 할 수 있다. 모든 변수는 상수 값을 가질 수 있다.

위의 baz처럼 const 선언의 초기화 표현식에서 const를 생략 할 수 있다. 자세한 내용은 const 중복 사용 안함을 참조하라.

const가 아닌 다른 변수의 값을 변경할 수 있다 :

const 변수의 값을 변경할 수 없다.


이전: 시작하기 (Getting started)arrow-up-right

다음: 내장 타입 (Built in types)arrow-up-right

문서 변경 이력

2019년 5월 15일: 첫 작성.

Last updated