더북(TheBook)

처음으로 클래스를 만들었습니다. 그런데 클래스도 함수와 마찬가지로 정의만 해서는 아무런 동작도 하지 않습니다. 지금은 붕어빵 틀만 불에 올려 달군 상태입니다. 그럼 클래스를 사용해 유닛을 직접 만들어 보겠습니다. 형식은 다음과 같습니다. 소괄호 안에는 클래스의 __init__() 메서드에 정의한 부분 중 self를 제외한 나머지 전달값을 넣습니다.

형식

객체명 = 클래스명(전달값1, 전달값2, ...) # self를 제외한 나머지 전달값

형식을 참고해 보병 둘과 탱크 하나를 만들어 봅시다.

class Unit:
    def __init__(self, name, hp, damage):
        self.name = name     # 인스턴스 변수 name에 전달값 name 저장
        self.hp = hp         # 인스턴스 변수 hp에 전달값 hp 저장
        self.damage = damage # 인스턴스 변수 damage에 전달값 damage 저장
        print("{0} 유닛을 생성했습니다.".format(self.name))
        print("체력 {0}, 공격력 {1}".format(self.hp, self.damage))

 

soldier1 = Unit("보병", 40, 5) # 보병1 생성, 전달값으로 이름/체력/공격력 전달
soldier2 = Unit("보병", 40, 5) # 보병2 생성, 전달값으로 이름/체력/공격력 전달
tank = Unit("탱크", 150, 35) # 탱크 생성, 전달값으로 이름/체력/공격력 전달

실행결과 icon_con

보병 유닛을 생성했습니다.
체력 40, 공격력 5
보병 유닛을 생성했습니다.
체력 40, 공격력 5
탱크 유닛을 생성했습니다.
체력 150, 공격력 35
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.