terms
[ruby] mixin
Superkill
2014. 10. 21. 22:22
객체지향 프로그래밍 언어에서 포괄적으로 볼때
mixin은 다른 클래스들의 메소드들을 포함하고 있는 클래스 라고 할 수 있다.
즉, 다중 상속과 동등하다.
다만, 상속 개념과는 다르다.
루비에서는 module을 class에 include 모듈명 으로 mixin을 이용한다.
module은 객체화(인스턴스화) 되거나 상속될 수 없는데 mixin을 이용해서
module의 method를 사용할 수 있다.
이런 식으로 한개 이상의 class가 한개 이상의 module을 mixin해서 사용 가능 하다.
(다중 상속의 효과까지 볼 수 있다)
참고 링크
- http://en.wikipedia.org/wiki/Mixin#Commentary (위키-mixin)
- http://blog.saltfactory.net/209
- http://enshahar.tistory.com/41
- http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Ruby/Tutorial02#s-2.4