앱 만들기 프로젝트/Dart

Dart - 4.7 Abstract Classes

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

Abstract Classes(추상화 클래스)란?
'이 method 만들어!!!!!!!!!!' 라고 소리치는 역할을 한다.

일단, 이렇게 선언한다.

abstract class Human {
  void walk();
}

이렇게 적으면 Human이라는 abstract class를 상속받는 친구들은 무조건 walk라는 void 형태의 함수가 있어야 한다고 강제한다.

class Player extends Human {
  String name;
  XPLevel xp;
  Team team;

  // 변수 순서 안중요함.
  Player({
    required this.name,
    required this.xp,
    required this.team,
  });

  void walk() {
    print('I\'m walking');
  }

  void sayHello() {
    print("Hi my name is $name");
  }
}

이렇게 void walk를 만들지 않으면 오류를 만들어 버린다.

이때, '만들라고!!'만 강제하지 어떻게 만드는지는 관여하지 않는다.
여러 class에 상속시켜서 다른 방식으로 만들 수 있다는 것이다.

반응형

'앱 만들기 프로젝트 > Dart' 카테고리의 다른 글

Dart - 4.9 Mixins  (0) 2024.10.16
Dart - 4.8 Inheritance(상속)  (4) 2024.10.16
Dart - 4.6 Enums  (1) 2024.10.16
Dart - 4.5 Cascade Notation  (0) 2024.10.16
Dart - 4.3 Named Constructors  (0) 2024.10.16