회원가입

4. [상속] 상속 I (부모로부터 물려받기)

NULL 2021-10-10

아래 코드는 Cashier 클래스와 DeliveryMan 클래스의 공통 부분으로 만든 클래스 Employee 가 있다.

 

Employee

class Employee:
    """직원 클래스"""
    # 가게 이름
    company_name = "코드잇 버거"
    # 시급 인상률
    raise_percentage = 1.03

    def __init__(self, name, wage):
        """인스턴스 변수 설정"""
        self.name = name
        self.wage = wage

    def raise_pay(self):
        """시급을 인상한다."""
        self.wage *= self.raise_percentage

    def __str__(self):
        """직원 정보를 문자열로 리턴하는 메서드"""
        return Employee.company_name + " 직원: " + self.name

 

Employee 클래스를 부모 클래스CashierDeliveryMan자식 클래스로 설정해 보겠다.

 

Cashier

class Cashier(Employee):
    """계산대 직원 클래스"""
    pass

이렇게 부모 클래스 Employee 를 감싸면 자식 클래스인 Cashier 클래스가 Employee 클래스의 내용을 상속 받는 것이다.

 

아래와 같이 코드을 입력하면

younghoon = Cashier("강영훈", 8900)
younghoon.raise_pay()
print(younghoon.wage)
print(younghoon)

Employee 에서 상속 받은 정보를 이용한다.

 

이제 DeliveryMan 클래스도 Employee 클래스를 상속 받고 사용해 보자.

class DeliveryMan(Employee):
    """배달원 클래스"""
    pass
0 0