반응형
다시 듣고 해보기~!
복습
Player.createRedPlayer({
required String name,
required int age,
}) : this.age = age,
this.name = name,
this.team = 'red',
this.xp = 0;
createRedPlayer 생성자의 파라미터를 필수 값으로 받은 후에 Player 객체들의 변수들을
: 세미콜롬 이후에 해당 변수들을 각각의 값으로 초기화하겠다는 이야기
class Player {
final String name;
int xp, age;
String team;
Player(
{required this.name,
required this.xp,
required this.team,
required this.age});
Player.createGreenPlayer(String name, int age)
: this.name = name,
this.age = age,
this.team = 'Green',
this.xp = 0;
Player.createRedPlayer({
required String name,
required int age,
}) : this.age = age,
this.name = name,
this.team = 'red',
this.xp = 0;
void sayHello() {
print("Hi, my name is $name");
// unless you made a variable named with 'name'
// we don't use like $this.name
}
}
void main() {
var player = Player.createRedPlayer(
name: "nico",
age: 15,
);
// we don't have to write like new Player();
player.sayHello();
var player2 = Player.createGreenPlayer("Ronaldo", 30);
player2.sayHello();
}
파라미터를 {} set (?) 형태로 받지 않았다면, 생성자를 생성할 때 역시 positional 형태로 파라미터를 입력해야 한다.
기본적으로 positional의 경우는 default 값이 required이기 때문에 작성하지 않아도 돼지만, set {} 형태로 파라미터를 작성하게 되면 입력해야 한다.
다른 언어와 다르게 {} 대신에 : 를 사용해서 입력한다는 점이 헷갈리 수 있지만, Flutter에서 금방 익숙해질 것이다!
반응형
'DART' 카테고리의 다른 글
[노마드코더 : Dart 시작하기] #4.5 Cascade Notation (0) | 2022.11.21 |
---|---|
[노마드코더 : Dart 시작하기] #4.4 Recap (0) | 2022.11.21 |
[노마드코더 : Dart 시작하기] #4.2 Named Constructor Parameters (0) | 2022.11.20 |
[노마드코더 : Dart 시작하기] #4.1 Constructors (0) | 2022.11.19 |
[노마드코더 : Dart 시작하기] #4.0 Your First Dart Class (0) | 2022.11.19 |