순한맛 24 Collection(컬렉션)과 Generic(제네릭)
- Interpolation : 보간법
예시) 당신의 점수는 $score 이며 당신의 레벨은 $Level 입니다.
사용자들마다 각자 다른 $변수값을 주기 위함.
- Collection / Generic
Collection : 데이터들을 모아서 가지고 있는 자료구조
Generic : Collection이 가지고 있는 데이터들의 데이터타입을 지정. 코드의 가용성과 재사용성 높힘
- List
Java : Flutter
▼
Array : List
1. fixed-length List : List 크기 지정 (Java로 치면 Array)
2. growable List : 제약 없이 증가 (Java로 치면 Arraylist) ...?
var name = new List(5); //fixed-length List
var name = new List(); //growable List
List는 모든 걸 객체 취급함.
함수나 boolean까지도 모두 객체 취급. 한 List에 넣을 수 있음.
- Collection / Generic 타입을 지정하는 이유?
Dart는 타입을 판별할 수 있어서 프로그램 구동환경이 아닌 컴파일 시에 문제점을 찾을 수 있음. Dart가 항상 변수와 변수의 타입이 일치하는지 확인함. 타입 체크는 필수지만 타입 추론 기능 때문에 일일이 타입 지정해주는 절차는 생략이 가능함.
하지만 코드의 안정성 때문에 지정하는 걸 권장.
순한맛 25 Generics(제네릭스) 보충수업
이 때 발생하는 문제점 두 가지
1) 모양마다 slot 타입을 체크하기 위해 매번 불필요한 코딩을 해야하는가
2) 또 다른 타입이 추가 될 수도 있음 > 일이 배로 늘음
이를 한 번에 해결하게 위해 간결 / 중복X / 재사용성↑ 위해서 코드 = Generics
class Slot<T>{ // <T>는 Generics을 뜻함. 추후에 모양을 지정할 수 있음.
insert (T shape){
}
}
stateful 위젯은 Generic 기법을 사용해서 만들어진 기법
'공부 > Flutter' 카테고리의 다른 글
Flutter 스터디 12 플러터 Onboarding screen (0) | 2023.02.02 |
---|---|
Flutter 스터디 11 플러터 2.0 Snack bar와 ScaffoldMessenger, 버튼들(Elevated button, Text button, Outlined button) (0) | 2023.02.02 |
Flutter Navigator/context 퀴즈 (0) | 2023.01.30 |
Flutter 스터디 9 Navigator 와 PushNamed Method (0) | 2023.01.30 |
Flutter 스터디 8 Container Widget 되짚어보기, Column & Row Widget 되짚어보기 (0) | 2023.01.30 |