더북(TheBook)

이 예제에서 __mileage는 비공개 속성이므로 클래스 외부에서 직접 액세스할 수 없습니다. 드라이브 메서드를 사용하여 수정하고 get_mileage 메서드를 사용하여 읽을 수만 있습니다. 이것이 바로 캡슐화가 작동하는 방식입니다.

 

상속

상속은 기존 클래스의 속성을 사용하여 새 클래스를 만드는 방법입니다. 서브 클래스라고 하는 새 클래스는 기본 클래스라고 하는 기존 클래스로부터 속성과 메서드를 상속받습니다. 예제로 확인해보겠습니다.

class ElectricCar(Car):  # ElectricCar는 Car 클래스를 상속받은 것입니다.
    def __init__(self, make, model, year, battery_size):
        super().__init__(make, model, year)  # Car의 init 함수 실행
        self.battery_size = battery_size

    def charge(self):
        print("The car is charging.")

Car의 모든 메서드를 상속하며, Car의 속성 값 또한 super()를 이용하여 상속받았습니다. 새로운 속성인 battery_size와 새로운 메서드 charge도 추가할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.