다중 상속 다루기

매일 공부(ML)·2023년 2월 24일
0

Fluent Python

목록 보기
84/130

객체지향 상용구

내장 자료형 상속과 다중 상속

다중 상속 다루기

인터페이스 상속과 구현 상속을 구분한다.

  • 인터페이스 상속은 'is-a'관계를 의미하는 서브타입을 생성
  • 구현 상속은 재사용을 통해 코드 중복을 피한다.

ABC를 이용해서 인터페이스를 명확히 한다.


코드를 재사용하기 위해 믹스인을 사용한다.

믹스인 클래스로 객체를 생성하면 안되며, 믹스인 클래스를 상속하는 구상 클래스는 다른 클래스도 상속해야 한다.


이름을 통해 믹스인임을 명확히 한다.


ABC가 믹스인이 될 수는 있지만, 믹스인이라고 해서 ABC인 것은 아니다.


두 개 이상의 구상 클래스에서 상속받지 않는다.

class MyConcreteClass(Alpha, Beta, Gamma):
	"""구상 클래스: 객체를 생성할 수 있다."""
    

사용자에게 집합 클래스를 제공한다.

class Widget(BaseWidget, Pack, Place, Grid):
	""" 내부 클래스
    
    Pack, Place, Grid 기하 도형 관리자로 위치를 지정할 수 있는 위젯 기반 클래스"""
    pass

클래스 상속보다 객체 구성을 사용하라

profile
성장을 도울 아카이빙 블로그

0개의 댓글