반응형
단순하게, 그냥 여러 클래스에서 재활용하기 위해서 만드는 것이라고 생각하면 편하다.
mixin Strong {
final double strengthLevel = 1500;
}
mixin QuickRunner {
void runQuick() {
print("Ruuuuuuuuun");
}
}
mixin Tall {
final double height = 1.80;
}
이렇게 정의한다. 원래 class로 선언할 수 있지만, 버전이 바뀌면서 mixin이라고 명시적으로 선언해야 하는 것 같다.
어떻게 쓰냐고?
class Player with Strong, QuickRunner, Tall {
final Team team;
Player({
required this.team,
});
}
with으로 쓰면 된다.
상속과 차이점은?
- 상속: extends로 부모 클래스를 가져오는 것. super를 이용해서 부모 클래스에 접근.
- mixin: with으로 그냥 내부의 프로퍼티와 메소드를 가져옴. mixin안에 있는 함수를 그냥 사용할 수 있음.
끝!!! 강의를 만들어주신 nomadcoders님께 감사드리며, 나머지 dart는 flutter하다가 이상한 문법이 보이거나 하면 그때 공부하면 될 듯 하다.
반응형
'앱 만들기 프로젝트 > Dart' 카테고리의 다른 글
Dart - 4.8 Inheritance(상속) (4) | 2024.10.16 |
---|---|
Dart - 4.7 Abstract Classes (0) | 2024.10.16 |
Dart - 4.6 Enums (1) | 2024.10.16 |
Dart - 4.5 Cascade Notation (0) | 2024.10.16 |
Dart - 4.3 Named Constructors (0) | 2024.10.16 |