![[플러터]Dart 문법 - Mixin](https://image.inblog.dev?url=https%3A%2F%2Finblog.ai%2Fapi%2Fog%3Ftitle%3D%255B%25ED%2594%258C%25EB%259F%25AC%25ED%2584%25B0%255DDart%2520%25EB%25AC%25B8%25EB%25B2%2595%2520-%2520Mixin%26logoUrl%3Dhttps%253A%252F%252Finblog.ai%252Finblog_logo.png%26blogTitle%3D%25EC%2586%25A1%25EC%258A%25B9%25ED%2598%2584%25EC%259D%2598%2520%25EB%25B8%2594%25EB%25A1%259C%25EA%25B7%25B8&w=2048&q=75)
Contents
정의 정의
클래스에 기능을 추가하는 데 사용되는 클래스
다중 상속을 피하면서 여러 크래스의 기능을 결합할 수 있도록 해줌
with 키워드를 사용하여 클래스에 추가
주로 클래스에 기능을 추가하기 위해 사용
mixin class Engine {
int power = 1000;
}
class Car with Engine {}
void main() {
Car c = Car();
print(c.power);
}
- 믹스인은 클래스의 인스턴스 변수를 가질 수 없다, 대신 메서드와 정적 변수를 가질 수 있다.
- 믹스인은 다른 믹스인이나 클래스를 상속 받을 수 없다.
- 다른 믹스인과 결합될 수 있지만 상속관계를 가질 수 없다.
- 장점
- 동인한 기능을 여러 클래스에서 재사용 가능
- 다중 상속의 복잡성을 피하면서 다양한 기능을 결합할 수 있음
- 기능을 독립적으로 정의하고 필요할 때 결합 가능
Share article