모든 클래스는 object 클래스의 자식이다.
class Human:
def __init__(self,name,age) -> None:
self.name = name
self.age = age
def intro(self):
print(str(self.age) + "살" + self.name + "입니다.")
def eat(self):
print("식사를 합시다.")
def __str__(self) -> str:
return f'Human(name = {self.name}, age = {self.age})'
class Student (Human):
def __init__(self, name, age,stunum) -> None:
super().__init__(name, age)
self.stunum = stunum
def intro(self): #부모에서 정의한 intro()를 재정의 ->override : 부모와 동일이름
super().intro()
print("학번 : "+ str(self.stunum))
def study(self):
print("하늘 천 따지 검을 현 누를 황")
# 선생님 :teacher
# 데이터 : 이름, 나이
# 기능 : 소개하기,식사하기, 가르치기
class Teacher(Human):
def __init__(self, name, age) -> None:
super().__init__(name, age)
def teach(self):
print("수업을 합니다")
def main():
kim = Human("김상형",29)
kim.intro()
kim.eat()
lee = Student("이승우",45,930011)
lee.intro()
lee.eat()
lee.study()
park = Teacher('홍길동',40)
park.intro()
park.eat()
park.teach()
print(kim)
print(lee)
main()
|