Mixins란?
- 다수의 클래스 계층에서 클래스의 코드를 재사용할수 있는 방법
- mixin을 진행할 1개 이상의 mixin 클래스명과 with 키워드와 함께 명시하여 사용한다.
mixin 클래스란?
- class 키워드 대신에 mixin 키워드로 작성한 클래스
- 다수의 클래스에서 공통되는 부분을 모듈화하여 만든다.
- 생성자를 가질 수 없다.
extends 키워드를 사용할 수 없다.
- 사용 예시
특징
- mixin 받은 클래스는 동일한 이름의 작성되어 있을 때 조건에 맞는 메소드만 1번 실행된다.
- 순서 (전제 조건 : 부모 클래스, 자식 클래스, mixin 클래스 모두 동일한 이름의 메소드가 존재)
- 자식 클래스
- mixin 클래스
- 여러 개의 mixin 클래스가 있을 경우에는 명시된 순서의 역순으로 동작한다.
- 예시
mixin 클래스1, 클래스2, 클래스3
- 클래스3 → 클래스2 → 클래스1
- 부모 클래스
사용 방법
Mixins 제한하기
- mixin 클래스에 on 키워드와 해당 클래스를 Mixins를 할 수 있는 클래스 목록을 명시하여 그 목록을 제한할 수 있다.
- 사용 예시