자바스크립트를 허용해주세요.
[ 자바스크립트 활성화 방법 ]
from Mohon Aktifkan Javascript!
 

[Dart] 11장 생성자와 초기화 리스트

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