class Person :
def __init__(self, name=None, age = 19):
self.name = name
self.age = age
def setInfo(self, name=None, age = 19):
self.name = name
self.age = age
def printMessage(self):
print("이름 : ", self.name, "\n")
print("나이 : ", self.age, "\n")
class Person:
def greeting(self):
pass
class Student(Person):
def greeting(self): # 메서드 오버라이딩
super().greeting() # super()로 기반 클래스의 메서드 호출
james = Student()
james.greeting() # Student의 greeting 메서드가 호출 됨
상속은 기존의 클래스에 있는 개념에서 가지고 있는 속성이나 기능들을, 그대로 재사용하면서 더 추가해야 하는 클래스를 만들 때 사용한다. (학생 관리 프로그램은 사람 관리 프로그램을 모두 필요로 하므로 그대로 가져올 수 있다.)
요약하면, 상위개념을 포함하는 하위개념을 구현하고자 할 때 상속을 쓴다.
상속을 받는 클래스(자식클래스)는 상속할 때 인자에 상위클래스(부모클래스)를 받는다. (class Student(Person))
Method overriding이란, 부모(상위)클래스의 함수를 재사용하거나 속성을 추가하는 것.
부모 클래스의 함수를 호출하거나, 생성자를 초기화하려면 super()를 쓰면 된다.