Dart

Constructor - 기본 생성자

Michelle Hwang 2021. 3. 26. 20:50

1) 기본 생성자 (Default constructor)

2) 이름 있는 생성자 (Named constructor)

3) 초기화 리스트 (Initializer list)

4) 리다이렉팅 생성자 (Redirecting constructor)

5) 상수 생성자 (Constant constructor)

6) 팩토리 생성자 (Factory constructor)

 

 

** Person 클래스에 기본생성자가 있고, Student는 생성자가 없다. 따라서 자동으로 기본 생성자가 제공된다. 이때 기본 생성자는 부모 클래스의 기본생성자를 호출한다. 

void main() {
  var student = Student();
}

class Student extends Person {}

class Person {
  Person() {
    print('This is Person Constructor');
  }
}

* 결과

This is Person Constructor

 

** 실행 결과를 보면 부모 클래스의 기본 생성자가 호출된 후 자식 클래스의 기본 생성자가 호출된 것을 알 수 있다. 

void main() {
  var student = Student();
}

class Student extends Person {
  Student() {
    print('This is Student Constructor!');
  }
}

class Person {
  String name;

  Person() {
    print('This is Person Constructor');
  }
}

* 결과

This is Person Constructor
This is Student Constructor!