자신을 템플릿 인자로 하여 원하는 클래스들을 재조립하여 새로운 클래스 타입을 만들어요. 즉, 각각의 기능을 컴포넌트 처럼 구현하고 원하는 기능들을 조합하여 새로운 타입을 만들 수 있어요. 상속을 이용하면 원하지 않는 기능도 함께 포함되지만 Mixin을 이용하면 재활용성 높고 깔끔한 구조로 구현할 수 있어요. 아래의 예제 코드를 살표 보면 무슨 말인지 이해가 될거예요. Mixin으로 재조립하여 새로운 AnimatedWindow, ScrollableWindow, PerfectWindow라는 새로운 타입을 만들어서 사용하고 있어요. struct Window { ... }; template struct Animated : public Base { void Play() {}; }; template struct S..