[dart] covariant

2024. 4. 29. 10:44dev/flutter

728x90
반응형
class Food {
  Food(this.name);
  
  String name;
}

class Animal {
  void eat(Food food) {
  
  }
}

Food라는 클래스가 있고 Animal이라는 클래스가 있다.

Animal클래스에서 eat이라는 먹는 함수가 있다고 예를 들어보자.

 

Food와 Animal을 상속한 다른 클래스가 있을 때,

covariant를 사용할 수 있다.

class Meat extends Food { ... }

class Lion extends Animal { ... }

 

Lion이 Animal클래스를 상속받고,

eat이라는 함수를 재사용할 때 covariant를 사용해서 Food클래스를 parameter로 받는 것이 아닌,

Meat타입을 parameter로 받을 수 있다.

class Lion extends Animal {
  void eat(covariant Meat meat) {
  
  }
}

 

 

전역적으로 상속할 클래스라면 매우 유용할 것 같다는 생각이든다.

728x90
반응형

'dev > flutter' 카테고리의 다른 글

[Flutter] Theme Provider  (0) 2024.06.11
[Flutter] Filled #shape #buttonstyle  (0) 2024.04.24
[Flutter] admob Banner 광고(AlertDialog)  (0) 2024.04.04
[Flutter] Backpressed WillPopScope #pop  (0) 2024.04.03
[Flutter] Dropdown #Spinner  (0) 2024.03.29