클래스 상속,__init__ 기본값 수정 및 변수 추가하기(파이썬)

Yeju Ham
2 min readMay 20, 2021

--

클래스 생성자 __init__ 을 자식 클래스에서 상속받을 때 값을 추가하거나 수정하는 것에 대해서 알아보자.

카페를 운영하는데 커피를 원두 별로 구분해 특성을 기입한다고 하자. 클래스의 매개변수를 커피콩의 원산지, 콩의 양(kg), 산도, 신맛 이렇게 4개로 하는 클래스를 만들었다.

우리 매장에 들어오는 많은 원두가 인도네시아산이어서 기본값은 인도네시아로 설정하고, 기본 10kg단위가 많아 10kg로 설정했다. 산도와 탄맛도 이와같다.

값을 입력했으면, 위의 Coffee함수를 이어받아 원두를 평가할 함수를 만들어보자.

새로운 함수 Evaluate를 만들어 Coffee함수를 상속받아왔다.

역기서

def __init__()

이 안에 들어가는 인자들은 1)self 및 , 2)자식클래스에 물려받아오고 싶은 부모클래스의 인자, 3)자식클래스에서 더 추가하고 싶은 인자 이다.

다시말해 부모클래스와 다른 Evaluate 클래스에서 구성하고 싶은 인자들을 적어주면 된다. 그렇기 때문에, 자식클래스에서 수정하고 싶은 디폴트 값이 있으면, 여기서 수정해주면 된다.

위의 예시와 같이 부모클래스에서 기본값을 설정해두었는데, Evaluate에서는 다른 기본값을 가지고 오고 싶다면 def __init__()내에서 수정할 수 있다.

또한, 더 추가하고 싶은 인자, 여기서는 price도 추가할 수 있다. 밑에 self.price = price라고 하나의 변수를 더 생성해준다.

super().__init__()

이 부분은 부모클래스를 상속받는 부분이다.

매우 정리가 잘 된 블로그 글:

https://elvanov.com/981

--

--

Yeju Ham

learner, writer, traveler, data science beginner with the whole passion