flutter/dart

[dart] var / string / dynamic / final / late / const 변수 선언

KIMJAVAN 2023. 8. 14. 10:34
728x90

var / String / dynamic

void main(){
  String name = '김자반';
  name = 'kimjavan';

  var age = 18;
  age = "열여덟살";

}

String으로 문자 변수를 선언할 수 있다.

var로 변수를 선언할 수 있다.

 

변수에는 같은 타입(숫자, 문자, 불리언 값 등)으로 지정해주어야하며 다른 타입이 들어간 경우 오류가 발생한다.

dart에서 타입 값을 분류해주기 때문에 var를 사용하는 것을 권장한다.

데이터 타입만 유지한다면 변수의 값은 업데이트 할 수 있다.

 

void main(){
  var name;
  name = 'kimjavan';
  name = 12;
  name = true;

  String name2;
  name2 = 'kimjavan';
  name2 = 12;
  name2 = true;

  dynamic name3;
  name3 = 'kimjavan';
  name3 = 12;
  name3 = true;
}

var name; 

이런식으로 값을 할당하지 않고 변수를 선언하는 경우 해당 변수는 타입이 dynamic으로 된다.

받아오는 값의 타입이 확실하게 정해지지 않을 때 사용한다.

dynamic name;

으로 선언하는 것과 같은 효과를 가진다.

 


 

final / late / const

final name = 'kimjavan'; 
으로 변수선언을하면 재할당이 안된다.
final String name =  'kimjavan';
이렇게하면 string값으로 선언 할 수 있는데 dart가 알아서 판단해주니까 위처럼 선언해도 된다.

 

void main(){
  late final name;
  name = 'kimjavan';
  name = 'babo';
}

late final name; 
으로 변수선언을 하면 나중에 값을 받아서 값을 할당할 수 있다.

name = 'babo';
는 final이 한 번 밖에 선언되지 않기 때문에 오류가 발생한다.

late는 String, final, var등에 사용할 수 있다.

 

const는 컴파일 할 때 알고있는 값을 정의할 때, 재할당이 필요없는거면 사용한다.

'flutter > dart' 카테고리의 다른 글

[dart] list 리스트  (0) 2023.08.14
[dart] 숫자, 문자, 참거짓(boolean) 자료형  (0) 2023.08.14
[dart] final / late final  (0) 2023.08.14
[dart] null safety  (0) 2023.08.14
[dart] ;(세미콜론), void main()  (0) 2023.08.14