Dart #15 | Class(1) - First Dart Class

HyeonWooGa·2023년 10월 8일
0

Dart

목록 보기
16/25
post-thumbnail

Class


  • Class 개요 (이 포스트에선 아직 생성자에 대해 학습하지 않는다.)
  • Class 사용

개요

  • True 객체지향 언어인 Dart 의 가장 중요한 부분!!!
  • Dart 의 모든게 Class!!!
  • Flutter 의 컴포넌트도 Class 로 만들 예정
  • 문법을 정복(dominate) 하는 게 중요하다. (+ Divide & Conquer)
  • Property 와 Method 로 이루어져있다.
    • Class 의 Property 는 자료형 키워드를 사용하여 정의해야한다.
    • Class 의 Property 가 수정되지 않게 하려면 final 키워드를 사용한다.
  • Class 를 정의하고 원하는 곳에서 Instance 를 생성하여 사용할 수 있다.

사용

// First Dart Class (생성자 아직 사용 X)
//// Class Property 정의 시에 자료형을 지정해줘야 한다.

////// Class 정의
class Player {
  //Properties
  String name = 'Lee';
  final String id = 'ER23YT';   // Class 의 프로퍼티가 수정 불가능 (final 키워드)
  int xp = 1500;
  
  //Method
  void sayHello() {
    print('Hello I\'m $name($id)');  
    // this.name 은 Mathod 내 변수 이름과
    // Class 내 변수 이름이 겹치는 경우에만
    // Class 내 변수를 호출하기 위해 사용
    // 일반적으로 this.name 과 같이 Property 호출하는 것은 지양
  }
}

void main() {
  ////// 인스턴스 생성
  var player = Player();  // var player = new Player(); new 는 생략 가능
  print('Name: ${player.name}, Id: ${player.id}');     
  // 'Name: Lee, Id: ER23YT' 출력
  
  player.sayHello();      // 'Hello I'm Lee(ER23YT)' 출력
  
  player.name = 'Park';
  // player.id = 'ET87TY';   // Error 발생
  print('Name: ${player.name}, Id: ${player.id}');     
  // 'Name: Park, Id: ER23YT' 출력
  
  player.sayHello();      // 'Hello I'm Park(ER23YT)' 출력
}

학습 중에 작성된 내용이므로 잘못되거나 부족한 내용이 있을 수 있습니다.

profile
Aim for the TOP, Developer

0개의 댓글