[모르고리즘 2] Mixin

기출 문제에 Mixin을 설명해라라는 것이 있는데,
......?

다중상속이라는 것은 알겠고, 대표적인 것이 DRF의 추상화인 것을 알고 있는데,
설명이 안 될 것 같아 찾아본 믹스인

Mixin

  • 상속의 한 종류이지만, 사용에 있어 약간의 차이가 있다.
  • 상속은 핵심 기능을 부모 class에, 부가적인 기능을 자식 class에 구현
  • mixin은 어떤 핵심 기능을 구현한 class가 부가적인 기능을 추가하기 위해 특정 클래스를 상속 받는다.
  • Mixin은 여러 클래스의 일부분을 떼어서, 새로운 자료형을 정의하지 않고 다른 클래스에서 재사용할 속성이나 메소드를 묶어놓은 클래스
  • Mixin할 때, 동일한 속성 및 메소드는 overriding

모르고리즘을 대하는 자로써,
응당 모르는 개념은 따라쳐야지?
대표적인 예시가 아래 코드라서 따라 쳐봤지만

class HelloMixIn:
    def greeting(self):
        print('안녕하세요')
    
 class Person():
    def __init__(self, name):
         self.name = name

 class Student(HelloMixIn, Person):
     def study(self):
         print('공부하기')

 class Teacher(HelloMixIn, Person):
     def teach(self):
         print('가르치기')

 a = Student('lilo')
 a.greeting()

응?...

다시 아래 영상을 보고 1차로 이해를 해 보고,,,,,