부모 클래스의 생성자를 호출하려면 꼭 자기 자신을 써줘야 하나요?

조회수 4957회

C가 B를 상속하고 B가 A를 상속하는 구조에서 부모 클래스의 생성자를 호출하는 방법이 이거밖에 없나요?

소스코드

class A(object):
    def __init__(self):
        print "생성자 A"

class B(A):
    def __init__(self):
        super(B,self).__init__()
        print "생성자 B"

class C(B):
    def __init__(self):
        super(C,self).__init__()
        print "생성자 C"

c = C()

super(B,self).__init__()같이 클래스마다 자기가 누군지 설명하는 거 말고

super(self.__class__, self)같은 느낌으로 좀 기계적이었으면 좋겠습니다.

super(self.__class__, self)를 쓰면 B에서 super를 호출할 때 self.__class__가 여전히 C여서 쓸 수가 없네요

다중상속은 안할거라서 다중상속에 관한 얘기는 사양합니다

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)