Interest/기타
[Python] 파이썬 클래스 상속 super().__init__()
roytravel
2022. 4. 7. 11:14
한 마디로 super().__init__()은 부모 클래스의 속성 및 메소드를 가져오는 것이다.
class A():
def __init__(self):
print ('[*] This is class A')
class B(A):
def __init__(self):
super().__init__()
if __name__ == "__main__":
b = B()
(base) C:\github>python test.py
[*] This is class A
부모 클래스의 속성 가져오기
A 클래스에 self.name이라는 속성을 추가하였다. 상속을 받는 B 클래스에서는 self.name을 가져와서 사용할 수 있다.
class A():
def __init__(self):
self.name = "roytravel"
print ('[*] This is class A')
class B(A):
def __init__(self):
super().__init__()
print (self.name)
if __name__ == "__main__":
b = B()
(base) C:\github>python test.py
[*] This is class A
roytravel
부모 클래스의 메소드 가져오기
A 클래스에 print_name이라는 메소드를 추가하였다. 이후 B 클래스에서 super를 통해 A 클래스의 메소드에 접근할 수 있다.
class A():
def __init__(self):
self.name = "roytravel"
print ('[*] This is class A')
def print_name(self):
print (self.name)
class B(A):
def __init__(self):
super().__init__()
super().print_name()
if __name__ == "__main__":
b = B()
(base) C:\github>python test.py
[*] This is class A
roytravel