더북(TheBook)

일반 유닛인 Unit 클래스와 비행 기능인 Flyable 클래스를 정의합니다. 이 둘을 부모 클래스로 하는 공중 유닛인 FlyableUnit을 정의하고 생성자에서 super()로 부모 클래스의 생성자를 호출하게 합니다. 그리고 공중 유닛 중에서 유닛의 수송을 담당하는 수송선을 생성하는 코드를 적고 실행해 보면 결과가 다음과 같습니다.

실행결과 icon_con

Unit 생성자

부모 클래스는 분명 UnitFlyable인데, super()로 생성자를 호출했을 때 Unit 클래스의 생성자가 호출됩니다. 부모 클래스의 상속 순서를 Unit, Flyable에서 Flyable, Unit으로 바꾼 후 다시 실행해 보겠습니다.

super.py

# class FlyableUnit(Unit, Flyable):
class FlyableUnit(Flyable, Unit): # 상속 순서 변경
    def __init__(self):
        super().__init__()

실행결과 icon_con

Flyable 생성자
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.