Language/기초문법
[Python] 클래스 상속
Sh-YE
2024. 5. 17. 14:17
클래스 상속
부모클래스의 특성과 메서드를 새로운클래스(자식클래스) 에 물려주는 개념.
ex1. 덧셈, 뺄셈 기능이 있는 클래스를 만들고 ,이를 상속하는 클래스를 만들어서 곱셈과 나눗셈의 기능을 추가
# 부모클래스
class CalculatorSuper:
def add(self, n1, n2):
return n1 + n2
def sub(self, n1, n2):
return n1 - n2
# 자식클래스 (CalculatorSuper를 상속받음)
class CalculatorChild(CalculatorSuper):
def mul(self, n1, n2):
return n1 * n2
def div(self, n1, n2):
return n1 / n2
# 객체생성
myCalculator = CalculatorChild()
#매서드사용
print(myCalculator.mul(1,2))
print(myCalculator.div(1,2))
print(myCalculator.add(1,2))
print(myCalculator.sub(1,2))
>>>>
2
0.5
3
-1
다중상속
- 2개 이상의 클래스를 상속
ex2. BasicCalculator와 DeveloperCalculator 클래스를 다음과 같이 만들고 이들 클래스를 상속하여 Calculator 클래스를 만들고 사용해보자
class BasicCalculator:
def add(self, n1, n2):
return n1 + n2
def sub(self, n1, n2):
return n1 - n2
def mul(self, n1, n2):
return n1 * n2
def div(self, n1, n2):
return n1 / n2
class DevoeloperCalculator:
def mod(self, n1, n2):
return n1 % n2
def flo(self, n1, n2):
return n1 // n2
def exp(self, n1, n2):
return n1 ** n2
class MyCalculator(BasicCalculator,DevoeloperCalculator):
def __int__(self):
pass
cal = MyCalculator()
print(f'cal.add(10,20) : {cal.add(10,20)}')
print(f'cal.sub(10,20) : {cal.sub(10,20)}')
print(f'cal.mul(10,20) : {cal.mul(10,20)}')
print(f'cal.div(10,20) : {cal.div(10,20)}')
print(f'cal.mod(10,20) : {cal.mod(10,20)}')
print(f'cal.flo(10,20) : {cal.flo(10,20)}')
print(f'cal.exp(10,20) : {cal.exp(10,20)}')