기존에 사용하던 방법 - 함수
result = 0
def add(num) :
global result
result += num
return result
print('def add(3) : ', add(3))

class Calculator :
# 클래스 안에 구현된 함수는 메서드(method)라고 부름
def add(self, num1, num2):
self.result = num1 + num2
return self.result
cal1 = Calculator()
cal2 = Calculator()
print('cal1.add(1, 3) : ', cal1.add(1, 3))
print('cal2.add(4, 5) : ', cal2.add(4, 5))

class Calc2 :
def __init__(self, num1, num2):
self.num1 = num1
self.num2 = num2
def add(self):
return (self.num1 + self.num2)
def mul(self):
return (self.num1 * self.num2)
cal3 = Calc2(4, 5) #num1, num2 값에 들어갈 값이 없으면 에러가 남
# 이 때 cal3은 객체라고 부름름
print('cal3.add() : ', cal3.add())
print('cal3.mul() : ', cal3.mul())

# class 클래스_이름(상속할_클래스_이름)
# 아래는 기본구조
class Calc3(Calc2) :
pass
# 위처럼 코드를 작성하면 Calc2를 Calc3에서도 사용할 수 있음
class Calc3(Calc2) :
def pow(self):
return (self.num1 ** self.num2)
cal4 = Calc3(2, 10)
print('cal4.pow() : ', cal4.pow())
print('cal4.add() : ', cal4.add())
참고 링크 : https://wikidocs.net/28