Flutter: Collection, Generic + Null Safety
Flutter 2.0의 Null Safety, Collection, Generic에 대해 다룸.
Flutter 2.0의 null Safety
Flutter 2.0에서는 변수가 null일 수 있는지 없는지를 명확히 구분
- 변수 선언 시 기본적으로 null Safety가 보장되지 않으면 컴파일러가 경고를 발생시킬 수 있음.
String Interpolation
void main() {
String name = 'Sean';
print(name);
print("Hi $name, what's up?");
}
Sean
Hi Sean, what's up?
Collection & Generic
- Collection : 데이터들을 모아서 가지고 있는 자료구조 (ex. List)
- Generic : Collection이 가지고 있는 데이터들의 데이터 타입을 지정
예제 1: 타입 지정 없는 List
void main() {
List number = new List();
number.add(2);
number.add('test');
number.add(7.4);
number.add(addNumber(1,2));
number.add(true);
print(number);
}
int addNumber(int num1, int num2) {
return num1+num2;
}
예제 2: Generic 사용 (타입 지정)
void main() {
List<int> number = new List();
number.add(2);
number.add(addNumber(1,2));
print(number);
}
int addNumber(int num1, int num2) {
return num1+num2;
}
예제 3: 여러 값 추가
void main() {
List<String> number = new List();
number.addAll(['James','John','Tom']);
print(number);
}
int addNumber(int num1, int num2) {
return num1+num2;
}
왜 dynamic보다 Generic을 사용할까?
- dynamic을 사용하면 여러 타입을 넣을 수 있지만, 타입 안전성 보장 안됨
- Generic은 타입 체크 + 코드 안정성 제공
- 특히 큰 프로젝트에서는 실수를 줄이는 데 큰 도움
'Flutter > 2.0' 카테고리의 다른 글
| Flutter 로그인과 주사위 앱 실습 (0) | 2021.08.17 |
|---|---|
| Flutter: StatefulWidget 살펴보기 (0) | 2021.08.16 |
| Flutter Navigator와 pushName 메소드 알아보기 (0) | 2021.08.16 |
| Flutter Navigator 간단 정리 (1) | 2021.08.16 |
| Flutter Column, Row 정리 (0) | 2021.08.16 |