산으로 가자▲

자바 믹스인(mixins)이란? 본문

Java

자바 믹스인(mixins)이란?

이성욱입니다 2022. 10. 8. 23:42

믹스인이란?

  • 객체지향언어에서 다른 클래스에서 '사용'할 목적으로 만들어진 클래스이다.
  • '포함'으로 설명된다.
    • '상속'과 주로 비교되는 개념이다. (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 인터페이스는 믹스인 인터페이스로 볼 수 있다.
    • 해당 클래스끼리 비교라는 기능을 혼합한다.