-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
상속 관련 질문
20.05.24 16:14 작성 조회수 154
1
#02.객체변수 value가 100이상 값은 못가지도록 제한하는
클래스를 만들자
class Calculator:
def __init__(self):
self.value = 0
def add(self, val):
self.value += val
class MaxLimitCalculator(Calculator):
def __init__(self,**kwargs):
super().__init__(**kwargs)
def add(self,val):
self.value += val
if self.value>100:
self.value = 100
cal = MaxLimitCalculator()
cal.add(50) # 50 더하기
cal.add(60) # 60 더하기
print(cal.value) # 100 출력
<질문>
위 코드에서 Calculator를 상속받는 클래스 작성시
수업에서 배운 것처럼
def __init__(self,**kwargs):
super().__init__(**kwargs)
이 부분을 입력하지 않아도 상속이 됩니다.
저 부분(특히 super())을 써야지만 상속이 되는 것으로
이해했는데, 쓰지 않아도 상속이 되는 건가요?
답변 기다리겠습니다. 감사합니다~
답변을 작성해보세요.
0
남박사
지식공유자2020.05.24
super() 함수는 상속시 부모 클래스의 초기화 함수 __init__() 를 호출하는 역할을 하는 것일뿐 상속 자체와는 상관이 없습니다.
class MaxLimitCalculator(Calculator):
위처럼 상속은 클래스 선언시 괄호 안에 상속받을 클래스를 명시하면서 이뤄집니다.
답변 1