서브클래스 기능 커스터마이즈
상속의 장점은 기존 코드를 다시 쓰지 않고도 재사용하고 커스터마이즈할 수 있다는 점이에요. 자식 클래스에서 부모 클래스의 메서드를 호출하면, 그 메서드에 있는 모든 코드를 재사용하여 코드를 간결하고 관리하기 쉽게 만들 수 있어요.
이번 연습에서는 Employee 클래스를 상속한 Manager 클래스를 계속 다룹니다. Employee 생성자를 바탕으로, 매니저가 담당하는 프로젝트를 지정할 수 있도록 추가 인자를 받는 생성자를 작성할 거예요.
단순화한 Employee 클래스와, 이전에 만들기 시작한 Manager 클래스의 초안이 script.py에 제공되어 있어요.
이 연습은 강의의 일부입니다
Python 객체 지향 프로그래밍 입문
연습 안내
name,salary(기본값50000),project(기본값None)를 받는Manager의 생성자를 추가하세요.Manager생성자 안에서 부모 클래스인Employee의 생성자를 호출하고, 부모 클래스의 생성자에서 정의한 세 개의 인자를 전달하세요.self를 사용해project인자를 해당 속성에 할당하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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)