메서드 상속
상속의 강점은 기존 코드를 다시 작성하지 않고도 재사용하고 원하는 대로 커스터마이즈할 수 있다는 점입니다. 자식 클래스에서 부모 클래스의 메서드를 호출하면, 그 메서드에 있는 코드를 그대로 재사용할 수 있어 코드가 간결하고 관리하기 쉬워집니다.
이번 연습에서는 Employee 클래스를 상속한 Manager 클래스를 계속 다룹니다. 클래스에 새로운 데이터를 추가하고, 1장에서 만든 give_raise() 메서드를 커스터마이즈해서, 매니저에게 급여 인상을 줄 때마다 보너스 비율만큼 인상액이 더 커지도록 만들겠습니다.
스크립트 창에는 단순화된 Employee 클래스와 이전 레슨에서 시작했던 Manager 클래스의 초반부가 제공되어 있습니다.
이 연습은 강의의 일부입니다
Python의 객체 지향 프로그래밍
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
class Employee:
def __init__(self, name, salary=30000):
self.name = name
self.salary = salary
def give_raise(self, amount):
self.salary += amount
class Manager(Employee):
# Add a constructor
def __init__(self, name, ____, ____):
# Call the parent's constructor
____.____(____, ____, salary)
# Assign project attribute
____
def display(self):
print("Manager ", self.name)