Flutter/2.0

Flutter: Collection, Generic + Null Safety

lgvv 2021. 8. 16. 14:34

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은 타입 체크 + 코드 안정성 제공
  • 특히 큰 프로젝트에서는 실수를 줄이는 데 큰 도움