super() 함수는 쉽게 말해서 자식 클래스에서 부모 클래스의 요소를 사용하고 싶을때 사용하는 함수이다.
class drink():
def taste(self):
return 5
class juice(drink):
def color(self):
print('노란색')
def test(self):
ans = super().taste() + 5
print(ans)
orange = juice()
orange.test()
예를 들어서 이런 클래스들이 있다고 하자.
juice
는 drink
를 상속받는 자식클래스이다.
juice
에서 test
를 정의할때, super().taste()
라는 것은 곧 drink.taste()
라고 생각하면 된다.
왜 필요할까?
자식클래스에서 동일한 메소드명이나 파라미터명을 사용한다면 자식 클래스의 정보로 덮어져서 부모 클래스의 메소드나 파라미터를 상속받아 사용하지 못한다.
또한, 불필요한 코드의 중복을 줄이는 효과도 있다.