순서
- var
- dynamic
- final
- late
- const
다트라는 언어는 기본적으로 자바랑 비슷한 점이 매우 많다.
코딩의 순서가 순차적으로 진행되는 것부터 객체 지향인 것까지.
다트의 변수 타입 지정에는 여러가지 방식이 있다.
그 중 몇개만 보자면
var
특정 타입을 지정하지 않았을 때, 들어가는 값에 따라 자동으로 형변환을 해주는 타입.
기본적인 int, String 같은 것은 동일하게 사용된다.
다트에서
int / String 같은 명시적인 타입 선언은 class 의 property를 작성할 때 사용하도록 권장하고 있고
var는 지역변수에서 사용하도록 권장한다.
void main() {
print('안녕 디지몬');
// 변수와 코딩 순서
var name = '연습이름';
print(name);
name = '바뀐이름';
print(name);
// 변수 타입
// 정수 integer
int num1 = 2;
int num2 = 3;
print(num1 + num2);
}
// 결과
안녕 디지몬
연습이름
바뀐이름
5
dynamic
해당 타입은 받는 데이터의 타입이 어떤 것일지 모를 때, 유동적으로 형변환을 하기 위해 사용하는 타입이다.
필요할 때만 쓰는 것을 추천.
void main() {
dynamic name;
int a;
if(name is String){
a = name.length;
}
if(name is int){
name.isOdd;
}
}
final
단 한번만 값 세팅이 가능하고 그 이후 변경이 불가능하게 만들어주는 키워드다.
아래의 예처럼 'String' 이렇게 명시적으로 타입을 지정해도 되지만
안하더라도 var 처럼 다트가 알아서 타입을 지정한다.
void main() {
fianl name = 'jin';
// error
name = 'jin';
final String name2 = 'Lee';
}
late
초기값이 없이 변수 선언을 가능하게 한다.
var / final 앞에 사용한다. (왜냐하면 나중에 값이 들어오기 때문에 명시적 형 선언이 안된다.)
flutter 사용 시, data fetching 할 때 유용하다.
void main() {
late fianl name;
name = 'jin';
late var name2;
}
const
final이랑 비슷하지만 다르다.
final은 그냥 값을 한번 세팅하면 끝이기 때문에 세팅의 타이밍이 중요하지 않다.
const는 컴파일이 될 때 값을 무조건 알고 있는 경우에만 사용한다.
즉, API 값을 받아오는 변수에는 사용할 수 없다. 사용자한테 값을 받아오는 경우도 불가하다.
미리 해놓는 하드 코딩에 적합한 변수라는 말.
void main() {
const Max_Value = 100;
}
'다트(Dart)' 카테고리의 다른 글
다트(Dart) 함수 (0) | 2023.03.14 |
---|---|
다트(Dart) 자료형 - Maps과 Set (0) | 2023.03.12 |
다트(Dart) 자료형 - List / String Interpolation / Collection (0) | 2023.03.10 |
다트(Dart) 자료형 - 기본형 (0) | 2023.03.10 |
다트(Dart) Null safety (0) | 2023.03.10 |
댓글