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 |