본문 바로가기
Dart/기초

[Dart 기초] 변수

by 뿌비 2024. 7. 31.
728x90
변수 타입 2가지  : var, 명시적 타입 지정 

함수, 메소드 내부에 지역변수 선언 시 : var 

class에서 변수, property 선언 시 : 명시적 타입 지정(String, int 등..)


🔥 dynamic

  • dynamic는 정말 필요한 경우에만 사용해야 한다
  • 받는 데이터의 타입을 모를 때는 변수의 타입을 dynamic을 써서 값을 담고, if문으로 데이터의 타입을 확인할 수 있다
 dynamic typeNm;
 if(typeNm is String){
  // if 문을 통과하면 String 타입인 거니까 해당 데이터 타입의 속성을 사용할 수 있다 
  typeNm.length;
 }

 

🔥 final

  • 상수라서 한번 정의된 변수를 수정할 수 없다
  • javascript의 const와 똑같다
final fNm = "ff"; 
fNm = "aaa"; // 다른 값으로 수정 할 수 없다
// 필수는 아니지만 꼭 필요 하다면 타입까지 정해줄수 있다 
final String fNm2 = "ff";

 

🔥 const 

  • Dart에서 const는 compile-time constant(컨파일 타임 상수)을 만들어준다
  • const는 상수이지만 javascript의 const 하고 차이가 있다 
  • Dart의 const는 컴파일할 때 알고 있는 값이어야 한다
  • 아래의 코드에서 apiRst()는 사용자가 어떠한 액션을 해야 호출되는 함수라고할 때,  const로 선언한 coNm2 값을 컴파일할 때는 알 수 없기 때문에 컴파일할 때 값을 모른 채 상수를 사용해야 한다면 final을 사용해야 한다
  const coNm = "cc";  // final 와 똑같이 상수이기 때문에 수정이 안된다
 //이렇게 되면 컴파일 할 때 coNm2 값을 컴파일러는 모른다
  const coNm2 = apiRst();

 

🔥 late 

  • final이나 var 앞에 붙여줄 수 있는 수식어이다 
  • 초기 데이터 없이 변수를 선언할 수 있게 해 준다
late final  Nm1 ;
late var Nm2;

※ Reference

https://nomadcoders.co/ [노마드코더 강의 참고]

728x90

'Dart > 기초' 카테고리의 다른 글

[Dart 기초] List, Map, Set  (0) 2024.07.31
[Dart 기초] DATA TYPE  (0) 2024.07.31
[Dart 기초] null safety  (0) 2024.07.31
Dart 컴파일러  (0) 2024.07.31
Flutter SDK 란?  (0) 2024.07.30