생성자를 선언하지 않으면 기본 생성자를 사용한다. 기본 생성자는 이름이나 인수가 없다.
Dart considers all variables non-nullable. : Compile에서 부터 오류발생
class User {
String name;
String nickname;
int age;
String job;
}
void main() {
User u = User();
print("User's name is ${u.name}.");
print("User's nickname is ${u.nickname}.");
print("User's age is ${u.age}.");
print("User's job is ${u.job}.");
}
nullable types 지정 : 정상작동
class User {
String? name;
String? nickname;
int? age;
String? job;
}
void main() {
User u = User();
printUserInfo(u);
u.name = "A";
u.nickname = "AA";
u.age = 12;
u.job = "AAA";
printUserInfo(u);
}
void printUserInfo(User u)
{
print("User's name is ${u.name}.");
print("User's nickname is ${u.nickname}.");
print("User's age is ${u.age}.");
print("User's job is ${u.job}.");
print("\n");
}
User's name is null.
User's nickname is null.
User's age is null.
User's job is null.
User's name is A.
User's nickname is AA.
User's age is 12.
User's job is AAA.
https://dart.dev/language/constructors#default-constructors