1. 상속
상속은 부모가 가진 상태와 행위를 자식이 물려받는 것과 동시에 다형성이 성립해야 합니다.
2. 다형성
다형성이란 여러 가지 형태를 가질 수 있는 능력을 의미합니다.
2 - 1. 다형성일까? - 엔진과 자동차
엔진과 자동차는 서로 반대 개념이다. 자동차 안에 엔진이 있기 때문이데, 이는 객체 지향 프로그래밍에서는 통용하지 않는 문법이란다 ..ㅎㅎㅎ..
따라서 엔진이 자동차를 상속을 받는 것이 아닌
class 엔진
clas 자동차 {
엔진
}
포함 관계가 형성 되어야 하는 것이다!!
3. 이니셜라이져 [[ : ]]
간단하게 보면 Burger 가 먼저 만들어 지고 CheezeBurger 가 만들어지는 구조이다.
따라서 Burger 에 this.name( 단일 생성자 )가 있다면 부모에게 매개변수를 던져주어야 하는 데 이때 쓰는 것이 이니셜라이져이다.
Example
// 상속 구조 생성 -->
// 부모 클래스 --> 단일 생성자 생성
// 자식 클래스 --> 이니셜 라이져 생성
class Tea {
String? name;
int? taste;
Tea(this.name, this.taste);
}
class BubbleTea extends Tea {
BubbleTea(String name, int taste) : super(name, taste); // 이니셜라이져 키워드
}
void main() {
Tea bubbleTea = BubbleTea('버블티네요', 100); // 다형성 적용
print(bubbleTea.name);
print(bubbleTea.taste);
}
'flutter & dart' 카테고리의 다른 글
flutter & dart - 컬렉션 (List , Map , Set) (0) | 2024.02.13 |
---|---|
flutter & dart - 추상 클래스 , 동적 바인딩 (1) | 2024.02.06 |
flutter & dart - late , final , const (0) | 2024.02.06 |
flutter & dart - Stateless Widget , Stateful Widget , Scaffold , Children 매개변수와 Child 매개변수 차이 , 위젯 위에 위젯 (0) | 2024.02.02 |
flutter & dart - flutter Devtool (0) | 2024.02.02 |