반응형
dart에서의 class는 어떤 문법을 가지고 있을까.
단순하다.
class Player {
String name = 'me';
// 아래와 같이 final 사용하면 수정 불가능함.
final int xp = 1500;
}
그리고... 위 클래스를 사용하려면 다음과 같이 사용하면 된다.
void main() {
var player = Player();
print(player.name); // 출력 결과: me
player.name = 'another';
print(player.name); // 출력 결과: another
// 아래와 같이 수정 불가능.
player.xp = 1000;
}
수정할 수 있는 것과, 수정이 불가능한 변수가 있는 것도 확인했다.
만약, class 안에 함수가 있을 경우...
class Player {
String name = 'me';
// 아래와 같이 final 사용하면 수정 불가능함.
final int xp = 1500;
void sayHello() {
// 아래와 같이 this.name을 사용해도 되지만...
print("Hi my name is $this.name");
// 아래와 같이 그냥 name을 사용해도 된다.
// class method 내에서는 this를 사용하지 않는 것을 권고되고 있다.
print("Hi my name is $name");
// 아래와 같이 동일한 이름을 가진 변수가 있을 경우에는 this.name을 사용해야 한다.
var name = 'eee';
}
}
다른 코드에서는 일반적으로 this.name 이렇게 사용하지만, dart에서는 필요 없다.
물론, 동일한 이름을 가진 변수가 있을 경우에는 this.name을 사용해야 한다.
그냥 동일한 이름을 가진 변수를 사용하지 말고 name을 사용하도록 하자.
반응형
'앱 만들기 프로젝트 > Dart' 카테고리의 다른 글
Dart - 4.2 Named Constructor Parameters (0) | 2024.10.16 |
---|---|
Dart - 4.1 Constructors(생성자) (0) | 2024.10.16 |
Dart - 3.5 Typedef (0) | 2024.10.16 |
Dart - 3.4 QQ Operator(Null-aware operator) (0) | 2024.10.15 |
Dart - 3.3 Optional Positional Parameters (0) | 2024.10.15 |