다형성 (polymorphism)

김동욱·2023년 12월 6일
0

다형성 (polymorphism)

다트는 static polymorphism 을 직접? 지원하지 않음
다트는 자바, c 언어와는 다르게 overloading 이 제공되지 않음
또한 한 클래스 내 같은 함수명으로 여러개의 함수를 정의할 수 없음

Dart 의 다형성 runtime polymorphism 을 지원함
따라서 클래스, 인터페이스를 구현해 상속 및 오버라이딩을 통해서 다형성을 달성할 수 있음

인터페이스 정의 예시

abstract interface class Drawable {
	void draw();
}

인터페이스 구현 예시

class House implements Drawable {
	void draw () {
    	print();
    }
}

클래스를 인터페이스로 선언

Drawable element = House();
List<Drawable> elements = [];
elements.add(Dog());

클래스 및 인터페이스를 상속받고 오버라이딩 예시

ref)
1."Polymorphism in Dart. There are two main forms of… | by Eman Yaqoob | Medium", 23.12.07, https://medium.com/@emanyaqoob/polymorphism-in-dart-refers-to-the-ability-of-objects-of-different-classes-to-be-treated-as-9e9d7cc9b4da

  1. "Polymorphism in Dart :: Dart Tutorial - Learn Dart Programming", 23.12.07, https://dart-tutorial.com/object-oriented-programming/polymorphism-in-dart/
profile
백엔드 개발자

0개의 댓글