
1. 추상 클래스
- dart에는 인터페이스가 없기에 추상 클래스를 사용하면 됨
- 부모와 자식의 메서드가 같을 경우 : 동적 바인딩
→ 자식의 메서드가 부모의 메스드를 무효화시키고 재정의함
abstract class Animal {
void sound();
}
class Dog implements Animal {
// 오버라이드 : 부모의 함수를 무효화
void sound() {
print("멍멍 배고파");
}
}
class Cat implements Animal {
// 오버라이드 : 부모의 함수를 무효화
void sound() {
print("야옹 배고파");
}
}
void start(Animal a) {
a.sound(); // 동적 바인딩
}
void main() {
start(Dog());
start(Cat());
}

Share article