
Dart에서 extends와 mixin 키워드는 클래스의 기능을 확장하고 코드 재사용성을 높이는 데 사용됩니다. extends는 클래스 상속을 통해 부모-자식 관계를 형성하고, mixin은 여러 클래스의 기능을 조합할 수 있게 해줍니다.
extendsmixinmixin을 사용하여 다중 상속의 유사한 기능을 구현합니다.extendsmixinextendsmixinextends 사용 예제class Scanner {
void scanning() => print("scanning...");
}
class Printer {
void printing() => print("printing...");
}
class Machine extends Printer {}
void main() {
final machine = Machine();
machine.printing();
// machine.scanning(); // 오류: Machine에는 scanning() 메서드가 없습니다.
}
class Scanner {
void scanning() => print("scanning...");
}
class Printer extends Scanner {
void printing() => print("printing...");
}
class Machine extends Printer {}
void main() {
final machine = Machine();
machine.printing();
machine.scanning();
}
mixin 사용 예제mixin class Scanner {
void scanning() => print("scanning...");
}
mixin class Printer {
void printing() => print("printing...");
}
class Machine with Printer, Scanner {}
void main() {
final machine = Machine();
machine.printing();
machine.scanning();
}
extends)은 부모-자식 관계를 형성하고, 믹스인(mixin)은 여러 클래스의 기능을 결합합니다.mixin class를 사용하여 믹스인 클래스를 정의할 수 있습니다.