1. 다형성
- 부모 생성자와 자식 생성자
class Burger { Burger() { // 부모 생성자 print("버거"); } } class CheeseBurger extends Burger { CheeseBurger() { // 자식 생성자 print("치즈버거"); } } void main() { CheeseBurger cb = CheeseBurger(); }
2. Super
- 자식이 부모의 객체를 참조할 수 있는 키워드
- 자바에서는 생략되어있음
class Animal{ String name; Animal(this.name); } class Dog extends Animal{ // Dog(super.name); Dog(String name) : super(name); // 자바처럼 기본 생성자와 super가 생략되어있지 않기에 적어야 함 }
- dart에서는 적어줘야 함
class Burger { String? name; Burger() {} } class CheeseBurger extends Burger { CheeseBurger(String name) { super.name = name; } } void main() { CheeseBurger cb = CheeseBurger("치즈햄버거"); print(cb.name); }
Share article