**이 페이지에서 알 수 있는 내용

- a**bstract

Abstract Classes

추상화 클래스로는 객체를 생성할 수 없습니다. 추상화 다른 클래스들이 직접 구현 해야하는 메소드들을 모아 놓은 일종의 청사진과 같습니다.

추상화 클래스의 장점은 메서드의 이름과 return 타입만 정해서 정의할 수 있고, 정의한 것을 다른 클래스에서 extends(상속, 확장)할 수 있습니다.

예제

// Abstract Classes

abstract class Student {
  void action();
}

// Student 클래스를 상속 받았는데,
// Human 클래스에 extends(상속, 확장) 받은 클래스의 메소드가 없어서 에러가 발생했습니다.
class Human extends Student {
  // error message : Missing concreate implement of 'Student.action'.
  int age;
  String subject;

  Human({required this.age, required this.subject});

  void introduce() {
    print("Hi i'm ${age}years old!");
  }

  void action() {
    print("i'm studying $subject now.");
  }
}

void main() {}