반응형

클래스 생성자 선언할때 초기화 목록을 사용할 수 있습니다.

class User {
  late String name;
  late int age;
  
  User(String name, int age) : this.name = name, this.age = age { } 
}

 

함수 오버로딩을 지원하지 않는 대신에 생성자 이름을 지정할 수 있습니다.

class MyClass {
  MyClasse() { }

  MyClass(int value1, value2) {
    print('values = $value1, $value2');
  }
  
  // 초기화 이름
  MyClass.first(int value) {
  	this(value, 0);
  }
  
  // 초기화 이름을 초기화 목록으로 사용한 경우
  MyClass.second(int value) : this(0, value);
}

팩토리(factory) 생성자를 사용할 수 있으며, 반드시 해당 객체를 반환해야 합니다.

class MyClass {
  MyClass._instance();
  
  factory MyClass() {
    return MyClass._instance();
  }
}

상수(const) 생성자를 사용하는 경우에는 해당 클래스의 모든 변수를 final로 선언해야 합니다.

class MyClass {
  final int value;
  const MyClass(this.value);
}

var my = const MyClass(10);
반응형

'개발 > Flutter & Dart' 카테고리의 다른 글

Dart 상위 위젯과 하위 위젯의 상태값 가져오기  (0) 2023.11.20
Dart 상속  (0) 2023.11.17
Dart 예외처리 (try on finally)  (0) 2023.11.16
Dart Function  (0) 2023.11.16
Dart Null safety  (0) 2023.11.16
Dart 컬렉션 타입 (List, Set, Map)  (0) 2023.11.16
Dart 변수 타입 (var, dynamic)  (0) 2023.11.16
Dart 상수 (const, final)  (0) 2023.11.16
Posted by 까칠코더
,