파이썬에서의 클래스 정의와 구현하는 법에 대해 알아보겠습니다.

클래스(class)

사실 클래스(class)하면 가장 많이 비유로 사용되는 붕어빵 틀과 붕어빵이 있는데, 이 부분은 그냥 패스하고 직접 구현하면서 알아보도록 하겠습니다. 우선 총이라는 클래스를 만들어 보겠습니다.

class gun():

    # 클래스가 실체화 될때, 바로 작동하는 메소드(함수)
    def __init__(self): # 총을 만든다. (실체화)

        # 총알을 0으로 설정 
        self.bullet = 0

위에 있는 class가 기본 구조 입니다. 여기서 총알을 충전하는 기능을 추가해보겠습니다. 총알 충전해야 하니까 숫자를 입력 받아야겠죠? 그리고 class에서는 꼭 self가 들어가기 때문에 클래스내에 함수를 사용할 경우 앞에 self를 붙여줘야 합니다.

class gun():

    # 클래스가 실체화 될때, 바로 작동하는 메소드(함수)
    def __init__(self): # 총을 만든다. (실체화)

        # 총알을 0으로 설정 
        self.bullet = 0

    # class에는 꼭 self가 들어간다. 
    def charge(self, num):#충전하는 기능
        self.bullet=num

총알을 장전했으면 쏘는 기능을 만들어야 합니다. for문을 이용하여 총알을 탕탕! 쏘는 기능을 구현해보도록 하겠습니다.

class gun():

    # 클래스가 실체화 될때, 바로 작동하는 메소드(함수)
    def __init__(self): # 총을 만든다. (실체화)

        # 총알을 0으로 설정 
        self.bullet = 0

    # class에는 꼭 self가 들어간다. 
    def charge(self, num):#충전하는 기능
        self.bullet=num

    def shoot(self, num): #쏘는 기능
        for i in range(num):
            if self.bullet>0:
                print('탕 !')
                self.bullet-= 1
            elif self.bullet == 0:
                print('총알이 없습니다.')
            break

마지막으로 총알이 몇발 남앗는지 출력하는 간단한 print 함수를 만들어보도록 하겠습니다.

class gun():

    # 클래스가 실체화 될때, 바로 작동하는 메소드(함수)
    def __init__(self): # 총을 만든다. (실체화)

        # 총알을 0으로 설정 
        self.bullet = 0

    # class에는 꼭 self가 들어간다. 
    def charge(self, num):#충전하는 기능
        self.bullet=num

    def shoot(self, num): #쏘는 기능
        for i in range(num):
            if self.bullet>0:
                print('탕 !')
                self.bullet-= 1
            elif self.bullet == 0:
                print('총알이 없습니다.')
            break

    def print(self): #출력하는 기능
        print('{}발 남았습니다.'.format(self.bullet))

클래스를 만들었으니 이제 클래스를 실행해봐야겠죠 ?

# 총을 실체화시킨다. 
gun=gun()

# 총알을 장전한다. 
gun.charge(10)

# 총을 쏜다.
gun.shoot(3)

# 몇 발 남았는지 확인한다. 
gun.print()

gun