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. Philip Oh
    잘 봤습니다~
  2. 폭스킴
    조언 감사드립니다. ^^ 루비가 이상하게 끌리는데 대부분 파이썬 추천하시네요. ㅎ
    대화보기
    • 일단 저도 님처럼 초보입장입니다.
      오픈튜토리얼을 알기전에 파이썬과 루비중에 고민을해서 인터넷에서 많이 검색도 해보고 알아본 결과
      많은분들이 파이썬을 추천해줬습니다.. 파이썬은 웹프로그래밍도 쉽고 모듈지원도 많아서 해킹보안분야에서도
      뛰어난 언어라는말을 많이 들었습니다.
      보안학과를 졸업하고 동일분야로 나아가고 있기 때문에 당연히 주저없이 파이썬을 배우기로 했었구요
      근데 우연히 메타스플로잇을 알게되어 그 매력에 푹 빠져버렸고 메타스플로잇에서 쓰이는 언어는 루비였습니다.
      그래서 고민을 하다가 다시한번 검색하며 알아보기 시작했죠.
      그러던중 좀 과장일지 모르겠지만, 인상깊었던 글이 메타스플로잇 개발자들만 파이썬으로 갈아타면 프로그래밍 언어는 파이썬으로 대통합시대를 열수 있을거라는 글이었습니다.
      결론은 메타스플로잇 모듈개발을 하지 않으실꺼면 파이썬이 여러모로 활용도가 높을것으로 생각합니다.
      이미 많은 사람들이 이야기하고 있으니 한번 검색해보시면서 직접 보시면 파이썬을 추천하는 분들이 많습니다.
      (물론 저는 메타스플로잇때문에 루비에 더 많은 시간을 투자하기로 했습니다..ㅎ)
      대화보기
      • 폭스킴
        프로그래밍 초보인 제 입장에서 강의를 듣다보니까 루비가 좀 더 쉬워보이는 느낌이 드는데요~
        (막연하게 그냥 좀 더 간결하고 친근한 느낌이 듭니다.)
        두 언어를 동시에 배우는 장점이 분명히 크지만 초보에겐 2가지를 동시에 배우는 고통도 크네요.
        결국 주언어를 어떤 걸 선택하느냐는 갈림길도 분명히 생길 것 같구요.
        혹시 어떤 언어가 어느 분야에 강점을 가진다던가,
        현 시점에 더 두각을 나타내는 언어가 있다던가(혹은 한쪽이 쇠퇴하고 있다던가)
        이런 정보나 조언을 주실 수 있는 분 계실까요?
      • ziggystory
        명강의 늘 감사합니다.
      • Kim Say
        휴가기간동안 강의 열심히 봤습니다. 좋은 강의 감사드립니다. :)
      • 감사합니다.
      • JustStudy
        고맙습니다
      • 노마드
        좋은강의 항상 감사드립니다. 궁금한것이 하나 있는데요, 루비의 믹스인하고 파이썬의 다중상속은 얼핏 문법적으로만 보면 둘이상의 모듈혹은 클래스에서 메소드를 가져다 쓴다는점에는 큰 차이가 없는것 같은데, 앞서 다중상속은 코드가 복잡해져 잘안쓰인다는 말씀을 하셨고, 믹스인은 유용하게 많이 쓰인다는 말씀을 하셔서 좀 헷갈립니다. 제가 이해를 잘못한건지, 아니면 좀더 근본적인 차이가 있는건지 궁금하네요.
      • 라이언
        정말 쉽게 설명을 잘 해 주셔서 감사드립니다.
        혼자서 이해하느라 많이 시간을 보냈는데 정말 도움이 많이되고 있습니다.
      • 드디어
        드디어 여기까지 왔네요!! 이고잉님 정말 감사합니다. ^^ 봤어요가 4명밖에 되지 않아서 더욱 뿌듯하네요!
        그런데 이 수업 종강까지는 얼마나 남은건가요?ㅎㅎㅎ
      • Frank
        네 ^^
      버전 관리
      egoing
      현재 버전
      선택 버전
      graphittie 자세히 보기