Python & Ruby

믹스인(Mixin)

믹스인 소개

 믹스인의 형식

module M1
  def m1_m
    p "m1_m"
  end
end
module M2
  def m2_m
    p "m2_m"
  end
end
class C
  include M1, M2
end
c = C.new()
c.m1_m()
c.m2_m()

 ideone.com

 믹스인의 활용

module Multiply
  def multiply()
    return @v1*@v2
  end
end
module Divide
  def divide()
    return @v1/@v2
  end
end
class Cal
  include Multiply,Divide
  def initialize(v1,v2)
    @v1 = v1
    @v2 = v2
  end
  def add()
    return @v1+@v2
  end
  def subtract()
    return @v1-@v2
  end
end


c = Cal.new(100,10)
p c.add()
p c.multiply()
p c.divide()

 ideone.com

댓글

댓글 본문
작성자
비밀번호
  1. ziggystory
    명강의 늘 감사합니다.
  2. Kim Say
    휴가기간동안 강의 열심히 봤습니다. 좋은 강의 감사드립니다. :)
  3. 감사합니다.
  4. JustStudy
    고맙습니다
  5. 노마드
    좋은강의 항상 감사드립니다. 궁금한것이 하나 있는데요, 루비의 믹스인하고 파이썬의 다중상속은 얼핏 문법적으로만 보면 둘이상의 모듈혹은 클래스에서 메소드를 가져다 쓴다는점에는 큰 차이가 없는것 같은데, 앞서 다중상속은 코드가 복잡해져 잘안쓰인다는 말씀을 하셨고, 믹스인은 유용하게 많이 쓰인다는 말씀을 하셔서 좀 헷갈립니다. 제가 이해를 잘못한건지, 아니면 좀더 근본적인 차이가 있는건지 궁금하네요.
  6. 라이언
    정말 쉽게 설명을 잘 해 주셔서 감사드립니다.
    혼자서 이해하느라 많이 시간을 보냈는데 정말 도움이 많이되고 있습니다.
  7. 드디어
    드디어 여기까지 왔네요!! 이고잉님 정말 감사합니다. ^^ 봤어요가 4명밖에 되지 않아서 더욱 뿌듯하네요!
    그런데 이 수업 종강까지는 얼마나 남은건가요?ㅎㅎㅎ
  8. Frank
    네 ^^
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기