때때로 생성자의 유일한 목적은 동일한 클래스의 다른 생성자로 리디렉션하는 것입니다. 리디렉션 생성자의 본문은 비어 있으며 콜론(:)을 사용하여 생성자를 동일한 클래스의 다른 생성자로 리디렉션할 수 있습니다.
예시 코드를 통해 확인해보자
class Color {
int red;
int green;
int blue;
Color(this.red, this.green, this.blue);
Color.black() : this(0, 0, 0);
}
class Color에서 지정한 숫자 변수 red, green, blue를 Redirecting constructors를 통해 새로운 생성자로 리디섹션하는 모습을 우린 확인할 수 있다.
또 다른 예시
void main() {
Idol hello = new Idol('정규','소다');
hello.say();
}
class Idol{
String name;
String group;
Idol(
String name,
String group, //직접 외부에서 입력을 받겠다 라는 뜻
) : this.name = name,
this.group = group; //this를 통해 외부에서 가져온 이름을 위에 class에 각각 저장한다.
void say(){
print('저는 ${this.name}이고 ${this.group}소속입니다.');
}
}