Dart에서 extends
와 mixin
키워드는 클래스의 기능을 확장하고 코드 재사용성을 높이는 데 사용됩니다. extends
는 클래스 상속을 통해 부모-자식 관계를 형성하고, mixin
은 여러 클래스의 기능을 조합할 수 있게 해줍니다.
extends
mixin
mixin
을 사용하여 다중 상속의 유사한 기능을 구현합니다.extends
mixin
extends
mixin
extends
사용 예제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
를 사용하여 믹스인 클래스를 정의할 수 있습니다.