Parents 클래스와 Children 클래스를 만들어서 부모 클래스를 상속해보자.
클래스를 상속하면 반복적인 함수를 작성하지 않고 잠깐 빌려쓸 수 있기 때문에 간편해진다.
class Parents:
def __init__(self, name, age):
self.name = name
self.age = age
def get_name(self):
print(f'제 이름은 {self.name}입니다.')
def get_age(self):
print(f'제 나이는 {self.age}살 입니다.')
일단 Parents 클래스를 정의하자,
parents_a = Parents('이수지', 50)
parents_a.get_name() # 제 이름은 이수지입니다.
parents_a.get_age() # 제 나이는 50살 입니다.
새로운 객체를 생성해서 함수를 호출할 수 있다.
이제 자녀 클래스를 생성해보자
class Children:
def __init__(self, name, age, height):
self.name = name
self.age = age
def get_name(self):
print(f'제 이름은 {self.name}입니다.')
def get_age(self):
print(f'제 나이는 {self.age}살 입니다.')
def get_height(self):
print(f'제 키는 {self.height}cm 입니다.')
이렇게 get_name, get_age 함수가 작성돼있다면 불필요한 반복이라 볼 수 있다.
Parents 클래스에 작성된 get_name, get_age를 받아와서 그대로 사용해보자.
class Children(Parents): # 상속받을 class를 명시
def __init__(self, name, age, height):
super().__init__(name,age) # 외워둘 코드
self.height = height
def get_name(self):
print(f'저는 자녀 {self.name}입니다.')
def get_height(self):
print(f'제 키는 {self.height}cm 입니다.')
super.__init()__(.....) 을 작성하면 부모 클래스의 속성 및 메소드를 자동으로 불러와 위 클래스에서도 사용이 사능하도록 한다.
children_a = Children('조인성',23,153)
children_a.get_name() # 저는 대학생 조인성입니다.
children_a.get_age() # 제 나이는 23살 입니다.
728x90
'Programing > Python' 카테고리의 다른 글
Hungaian algorithm (0) | 2023.11.10 |
---|---|
행열 transpose - ( zip응용 ) (0) | 2023.10.07 |
Numpy의 boolean 조건으로 index 배열 slicing (0) | 2023.10.03 |
댓글