728x90

✅ 1. 생성자(Constructor)
생성자는 클래스 이름과 같은 이름의 함수로, 객체 생성 시 호출됩니다. 필드를 초기화 하거나 필요한 작업을 수행합니다
class Person {
String name;
int age;
// 기본 생성자
Person(String name, int age) : name = name, age = age {
print('🚀 기본 생성자 호출: name=$name, age=$age');
}
}
void main() {
var p = Person("Alice", 25);
// Result: 🚀 기본 생성자 호출: name="Alice", age=25
}
✅ 2. 축약 생성자(Shorthand Constructor)
축약 생성자는 매개변수와 필드가 동일한 이름일 시 this.필드명으로 초기화할 수 있습니다. 이로써 코드가 더욱 간결해집니다.
class Coin {
String name;
int coin;
// 축약 생성자
Coin(String name, int coin) : name = name, coin = coin {
print('Coin: $coin, Name: $name');
}
}
void main() {
var c = Coin("JIN", 15);
// Coin: 15, Name=JIN
}
✅ 3. 초기화 리스트 (initializer List)
생성자 본문 실행 전 필드를 초기화하는 구문으로 주로 final 변수나 초기화에 사용됩니다. null-safety에서도 유효 (final, non-nullable 유효화 가능)
import 'dart:math';
class Point {
final int x;
final int y;
final double distanceFromOrigin;
// 초기화 리스트
Point(this.x, this.y) : distanceFromOrigin = sqrt(x * y + y * y) {
print('🚀 생성자 본문 실행: ($x, $y)');
}
}
void main() {
var p = Point(3, 4);
print("거리: ${p.distanceFromOrigin}");
}
✅ 요약
- 기본 생성자 -> 필드를 매개변수로 받아 초기화(null 불가능)
- 축약 생성자 -> this.필드명 문법으로 짧게 초기화
- 초기화 리스트 -> 생성자 본문 실행 전에 계산식/final 값 초기화 가능
GitHub - Koras02/dart-bloging
Contribute to Koras02/dart-bloging development by creating an account on GitHub.
github.com
728x90
LIST
'Mobile > Dart' 카테고리의 다른 글
| [Dart] 13장 추상 클래스와 인터페이스 (0) | 2025.08.30 |
|---|---|
| [Dart] 12장 상속 (1) | 2025.08.17 |
| [Dart] 10장 클래스와 객체 (2) | 2025.08.09 |
| [Dart] 9장 화살표 함수 (0) | 2025.08.05 |
| [Dart] 8장 익명 함수 및 고차 함수 (0) | 2025.03.31 |