Mixin은 여러 클래스 계층에서 클래스의 코드를 재사용하는 방법입니다. Mixin을 사용하게 되면 다중 상속의 문제를 해결할 수 있고 컴퍼지션을 사용하지 않고 다른 클래스의 코드를 재사용할 수 있습니다.
// Mixin <-- 여러 클래스에서 재사용할 수 있는 기능을 제공하는 방법
mixin Logger {
void log(String message) {
DateTime now = DateTime.now();
print("[${now}] ${message}");
}
}
class UserService with Logger {
void createUser(String name) {
log("사용자 생성 시작 : ${name}");
// 로직 처리
log("사용자 생성 완료");
}
}
void main() {
// Logger logger = new Logger();
UserService userService = new UserService();
userService.createUser("도레미");
// 자바 인터페이스 : 구현해야 할 메서드의 명세만 제공(추상적)
// Dart mixin : 완성된 기능을 그대로 제공(구체적)
}
'Flutter' 카테고리의 다른 글
| Dart 문법 - 컬렉션 (0) | 2025.08.18 |
|---|---|
| Dart 문법 - 추상 클래스 (1) | 2025.08.18 |
| Dart 문법 - 상속 (1) | 2025.08.18 |
| Dart 문법 - dart null Safety (3) | 2025.08.18 |
| Dart 문법 - 클래스 (2) | 2025.08.18 |