컴퓨터/Python
다른 객체지향 언어처럼 Python에서도 클래스를 상속하여 class의 개념을 확장시킬 수 있습니다.
파이썬에서도 상속관계에서 부모클래스와 자식 클래스라고 부릅니다.
본 포스트에서 상속을 하기 위한 문법에 대하여 다루도록 하겠습니다.
class Human:
pass
class Man(Human):
pass
예제처럼 단순하게 class를 선언할 때 괄호()를 이용하여 class를 상속받을 수 있습니다.
기본적으로 사용하는 메서드인 생성자로 예를 들자면 다음과 같이 사용할 수 있습니다.
class Human:
def __init__(self,name,age):
self.name = name
self.age = age
class Man(Human):
def __init__(self,name,age,gender):
self.gender = gender
self.name = name
self.age = age
또는
class Man(Human):
def __init__(self,name,age,gender):
self.gender = gender
Human.name = name
Human.age = age
하지만 이런식으로 다시 한번 재정의하는 것은 상속으로서의 장점이 줄어듭니다.
다른 객체지향 언어처럼 파이썬에서도 super()를 사용하여 조금 더 다양성과 확장성을 늘릴 수 있게 됩니다.
위처럼 불필요한 재정의를 줄일 수 있게됩니다.
class Man(Human):
def __init__(self,name,age,gender):
self.gender = gender
super().__init__(name,age)
이렇게 super()를 이용하여 부모 클래스의 메서드를 호출하도록 하여 불필요한 재정의를 하지 않을 수 있습니다.
Python - 모듈 관리 (pip란?) (0) | 2022.01.21 |
---|---|
Python - Module (라이브러리) (0) | 2022.01.20 |
Python - class 2 (self, __init__ 키워드) (0) | 2022.01.19 |
Python - class1(객체 지향을 지원한다) (0) | 2022.01.18 |
Python - Lambda (함수의 간단한 표현 방법) (0) | 2022.01.08 |
91년생 공학엔지니어의 개발일지
TODAY :
YESTER DAY :
TOTAL :
Commnet