728x90
728x90
Initializer List
들어가며
- Dart의 Initializer List에 대해 간단하게 정리해본다.

Initializer List
개념
- 생성자(constructor)가 실행되기 전에 필드(Field)를 초기화하기 위한 문법
- 생성자 선언 뒤에 @:@(콜론)을 붙여 초기화 구문을 나열한다.
- 생성자 바디(@{}@)보다 먼저 실행된다.
사용 목적
- @final@ 필드 초기화
- @super@ 생성자 호출
- 생성자 로직 이전에 반드시 완료되어야 하는 값 설정
예시 코드
class User {
final String id;
final String name;
User(this.name) : id = uuid.v4(); // Initializer List
}
- @id = uuid.v4()@는 생성자 바디가 실행되기 전에 실행된다.
- @final@ 필드는 반드시 생성 시점에 초기화되어야 하므로, id 생성 시 Initializer List가 자주 사용된다.
- @uuid.v4()@는 @package:uuid/uuid.dart@에서 제공하는 함수로, 객체 생성 시 고유 ID를 자동 생성하는 경우에 사용된다.
class Person {
Person(this.name);
final String name;
}
class Student extends Person {
Student(String name, this.grade) : super(name); // Initializer List
final int grade;
}
- @super(name)@ 부분도 Initializer List를 사용한 경우에 해당하며, 부모 클래스의 생성자는 자식 생성자 본문보다 먼저 호출되어야 하기 때문에 사용된 경우이다.
참고 사이트
Constructors
Everything about using constructors in Dart.
dart.dev
728x90
728x90
'Programming > Dart' 카테고리의 다른 글
| [Dart] Named Parameter, Unnamed Parameter (0) | 2026.02.19 |
|---|---|
| [Dart] Trailing Comma 적용 방법 (0) | 2026.02.07 |
| [Dart] 자료형 비교 (var, const, final) (0) | 2026.02.03 |
| [Dart] 함수 파라미터(Argument/Parameter) (0) | 2026.01.30 |