믹스인이란?
- 객체지향언어에서 다른 클래스에서 '사용'할 목적으로 만들어진 클래스이다.
- '포함'으로 설명된다.
- '상속'과 주로 비교되는 개념이다. (is-a vs has-a)
- Composition 혹은 Aggregation 이라고 불리기도 한다.
- 코드 재사용성을 높여주고, 상속의 단점을 해결할 수도 있다.
- 자바코드에서는 다중 상속의 제한이 없는 인터페이스로 구현하기 용이하다.
- 대상 타입의 주된 기능에 선택적 기능을 '혼합(mixed in)'한다고 해서 믹스인이라 불린다.
예제 코드
public interface Singer {
AudioClip sing(Song s);
}
public interface Songwriter {
Song compose(int chartPosition);
}
public interface SingerSongwriter extends Singer, Songwriter {
AudioClip strum();
void actSensitive();
}
자바에서 Mixin의 예
Comparable
인터페이스는 믹스인 인터페이스로 볼 수 있다.- 해당 클래스끼리 비교라는 기능을 혼합한다.
반응형
'Java > 자바 디자인 패턴' 카테고리의 다른 글
추상 팩토리 패턴 (Abstract Factory Pattern) 이란? (0) | 2023.01.24 |
---|---|
팩토리 메서드 패턴 (Factory Method Pattern) 이란? (0) | 2023.01.23 |
싱글톤 패턴 (Singleton Pattern) 이란? (0) | 2023.01.20 |
제네릭 싱글턴 팩토리 (0) | 2021.12.24 |
플라이 웨이트 패턴 (0) | 2021.12.22 |