앱 만들기 프로젝트/Dart

Dart - 4.0 Your First Dart Class

지나가는물리학부생 2024. 10. 16. 00:25
반응형

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을 사용하도록 하자.

반응형