3.1Character 클래스 만들기


    게임 캐릭터 클래스를 만든다고 가정하겠습니다. 게임에 등장하는 캐릭터는 플레이어와 몬스터입니다. 모든 캐릭터(추상 클래스)는 다음과 같은 특성을 가집니다.

    인스턴스 멤버: 이름(name), 체력(hp), 공격력(power)을 가진다.

    인스턴스 메서드: 공격(attack)할 수 있고 공격당하면 피해(get_damage)를 입는다(모두 추상 메서드로 구현).


    코드 7-12 oop2/oop2_3/character.py ①

    from abc import *
    
    # 추상 클래스로 만듭니다
    class Character(metaclass = ABCMeta):
        def _ _init__(self, name, hp, power):
            self.name = name
            self.HP = hp
            self.power = power
    
        # 추상 메서드
        # 파생 클래스는 반드시 attack( )과 get_damage( ) 메서드를 오버라이딩해야 합니다
        @abstractmethod
        def attack(self, other, attack_kind):
            pass
    
        @abstractmethod
        def get_damage(self, power, attack_kind):
            pass
    
        def _ _str__(self):
            return '{} : {}'.format(self.name, self.HP)
    


    코드에 대한 설명은 주석으로 대신하겠습니다. 이제 플레이어 클래스를 만들어 볼까요?

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