강의 회차 : #5.4 Inheritance ~#5.7 Code Challange
1. Inheritance(상속)
상속이란, 클래스의 Method들을 클래스간에 공유 하는 기능으로써 반복 작업을 제거해주는 객체지향프로그래밍의 중요한 기능중 하나이다. 각 Class에 대해 반복적인 프로퍼티가 있을경우 상속을 하여 반복작업을 제거 해준다. 아래와 같이 Class 선언시 상속 Class를 적어주면 된다.
class ClassName(InheritanceClassName):
상속을 받은 Class에서 __init__Method가 없을경우 자동으로 부모Class의 init Method를 호출한다.
init을 선언할때 super()를 통해 아래와 같이 부모class의 init method를 참조할수있다
class Dog:
def __init__(self, name,breed , age):
self.name = name
self.breed = breed
self.age = age
class GuardDog(Dog):
def __init__(self, name ,breed):
super().__init__(name,breed,5)
def rrrrr(self):
print("stay away!")
class Puppy(Dog):
def __init__(self,name,breed):
super().__init__(name, breed, 0.1)
def woofwoof(self):
print("woof woof!")
ruffus = Puppy(
name = "ruffus",
breed = "beagle",
)
bibi = GuardDog(
name = "bibi",
breed = "dodog",
)
ruffus.woofwoof()
class Puppy와 GuardDog는 Dog 클래스를 참조하게 되어있고, name,breed,age를 상속 받는다. 그리고 각 GuardDog와 Puppy는 supper().__init__()을 통해서 age의 값을 따로 선언하게끔 되어있다
'Study > Python' 카테고리의 다른 글
Python 공부 8일차 (0) | 2024.04.03 |
---|---|
Python 공부 7일차 (0) | 2024.03.26 |
Python 공부 6일차 (0) | 2024.03.14 |
Python 공부 5일차 (0) | 2024.03.13 |
Python 공부 4일차 (0) | 2024.03.10 |