

Dart 문법 OOP - 믹스인Dart/OOP2024. 8. 21. 13:35
Table of Contents
믹스인이란?
믹스인(mixin)은 특정 클래스에 원하는 기능들만 골라 넣을 수 있는 기능이다.
이는 다중 상속의 일부 이점을 제공하면서도, 다중 상속의 복잡성을 피할 수 있게 해준다.
Dart에서의 믹스인 특징
- 선택적 기능 추가: 특정 클래스에 필요한 기능만을 선택적으로 추가할 수 있다.
- 다중 적용 가능: 하나의 클래스에 여러 개의 믹스인을 적용할 수 있다.
- 상속과의 호환성: 특정 클래스를 상속하는 클래스에서도 믹스인을 사용할 수 있다.
- 코드 재사용: 여러 클래스 간에 공통 기능을 쉽게 공유할 수 있다.
Dart에서의 믹스인 구현
예를 들어, Idol 클래스와 관련된 몇 가지 믹스인을 만들어 보겠다:
여기서 주목해야 할 점:
- mixin 키워드 사용: Singable과 Danceable은 mixin 키워드를 사용하여 정의된다.
- with 키워드로 믹스인 적용: GirlGroup 클래스는 Idol을 상속받고, with 키워드를 사용하여 Singable과 Danceable 믹스인을 적용한다.
- 다중 믹스인 적용: 여러 믹스인을 적용할 때는 쉼표(,)로 구분하여 나열한다.
믹스인 사용 예시
실행 결과:
안녕하세요, 블랙핑크입니다.
노래를 부릅니다.
춤을 춥니다.
이 예시에서 GirlGroup 클래스는 Idol 클래스를 상속받으면서 동시에 Singable과 Danceable 믹스인의 기능을 사용할 수 있다.
상속 vs 인터페이스 vs 믹스인
- 상속:
- 단일 상속만 가능
- 부모 클래스의 모든 기능을 상속
- 강한 "is-a" 관계를 표현
- 인터페이스:
- 다중 구현 가능
- 모든 메서드를 반드시 구현해야 함
- "can-do" 관계를 표현
- 믹스인:
- 다중 적용 가능
- 선택적 기능 추가
- 코드 재사용을 위한 유연한 메커니즘
믹스인 사용의 이점
- 코드 재사용: 여러 클래스에서 동일한 기능을 쉽게 재사용할 수 있다.
- 유연성: 필요한 기능만을 선택적으로 추가할 수 있다.
- 다중 상속의 대안: 다중 상속의 복잡성 없이 여러 소스에서 기능을 가져올 수 있다.
- 조합 가능성: 여러 믹스인을 조합하여 복잡한 동작을 구성할 수 있다.
주의사항
- 충돌 관리: 여러 믹스인에서 동일한 이름의 메서드가 존재할 경우, 마지막에 적용된 믹스인의 메서드가 우선된다.
- 적절한 사용: 과도한 믹스인 사용은 코드를 복잡하게 만들 수 있으므로 주의가 필요하다.
'Dart > OOP' 카테고리의 다른 글
Dart 문법 OOP - 제네릭 (0) | 2024.08.21 |
---|---|
Dart 문법 OOP - 추상 (0) | 2024.08.21 |
Dart 문법 OOP - 인터페이스 (0) | 2024.08.20 |
Dart 문법 OOP - 오버라이드 (0) | 2024.08.20 |
Dart 문법 OOP - 상속 (0) | 2024.08.20 |

@codeJunH :: codeJunH의 IT 공부 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!