실전 제네릭 컬렉션
List, Map, 사용자 지정 컨테이너에 자료형을 지정합니다
실전 제네릭 컬렉션은(는) CoddyKit의 무료 Dart Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Dart Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Dart Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
컬렉션은 제네릭입니다
Dart의 일상적인 컬렉션은 모두 제네릭입니다. List, Set, Map은 각각 타입 매개변수를 받아 담을 내용을 고정합니다. 📦
List에 타입 지정
List는 요소에 사용할 타입 매개변수 하나를 받습니다. List of String이라고 선언하면 모든 항목이 String이어야 합니다.
List<String> names = ['Ada', 'Linus'];Set에 타입 지정
Set도 같은 방식으로 동작하며 요소의 중복을 허용하지 않습니다. int를 담는 Set에는 중복 없는 정수가 저장됩니다.
Set<int> ids = {1, 2, 2, 3};Map에 타입 지정
Map은 두 개의 타입 매개변수를 받습니다. 하나는 키용이고 다른 하나는 값용입니다. 키 타입을 먼저 작성하므로 순서가 중요합니다.
Map<String, int> ages = {'Ada': 36};리터럴에서 추론하기
리터럴을 작성하면 Dart는 내용에서 타입을 추론하는 경우가 많습니다. 숫자 목록은 자동으로 int 타입의 List가 됩니다.
var scores = [90, 85, 100];빈 리터럴에는 타입 명시
빈 리터럴에는 추론할 내용이 없으므로 직접 타입을 추가해야 합니다. 그렇지 않으면 Dart가 원하지 않는 타입을 추측할 수 있습니다.
var queue = <String>[];요소 타입이 전달됩니다
타입이 지정되면 메서드가 올바른 요소 타입을 반환합니다. List of String에서 읽은 값은 String이므로 바로 사용할 수 있습니다.
List<String> names = ['Ada'];
String first = names.first;제네릭 중첩하기
타입 매개변수는 필요한 만큼 깊게 중첩할 수 있습니다. String에서 int의 List로 이어지는 Map도 완전히 유효하며 전체적으로 검사됩니다.
Map<String, List<int>> grades = {
'Ada': [90, 85]
};제네릭과 변환
map 같은 메서드는 처리 흐름을 따라 타입을 전달합니다. int를 해당 문자열로 변환하면 String의 Iterable이 생성됩니다.
var labels = [1, 2].map((n) => 'n=$n');사용자 지정 제네릭 컨테이너
직접 만든 제네릭 클래스도 이 세계에 연결됩니다. T의 Stack은 호출자가 선택한 어떤 요소 타입이든 저장할 수 있습니다.
class Stack<T> {
final _items = <T>[];
void push(T x) => _items.add(x);
}처음부터 끝까지 안전성
선언부터 변환과 저장에 이르기까지 타입이 계속 알려진 상태로 유지됩니다. 이것이 재사용성과 완전한 검사를 끝까지 얻는 이점입니다.
빠른 확인
Map은 몇 개의 타입 매개변수를 받나요?
복습
List, Set, Map에 타입을 지정하고, 추론을 활용하고, 빈 리터럴에 타입을 명시하고, 제네릭을 중첩하는 방법을 배웠습니다. 타입은 모든 변환을 거쳐 안전하게 전달됩니다. ✅
AI 튜터와 함께 Dart을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 30
- 레슨
- 120
자주 묻는 질문
“실전 제네릭 컬렉션” 강의는 무료인가요?
네 — “실전 제네릭 컬렉션” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Dart Academy 강의 전체를 잠금 해제할 수 있습니다. Dart Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“실전 제네릭 컬렉션”에서 뭘 배우나요?
List, Map, 사용자 지정 컨테이너에 자료형을 지정합니다 브라우저에서 직접 실행하는 실습 코드로 Dart Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Dart Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Dart Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“실전 제네릭 컬렉션” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Dart Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Dart Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.