시작하기무료로 시작하기

메서드 상속

상속의 강점은 기존 코드를 다시 작성하지 않고도 재사용하고 원하는 대로 커스터마이즈할 수 있다는 점입니다. 자식 클래스에서 부모 클래스의 메서드를 호출하면, 그 메서드에 있는 코드를 그대로 재사용할 수 있어 코드가 간결하고 관리하기 쉬워집니다.

이번 연습에서는 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)
 
코드 편집 및 실행