inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

super() 함수에 관한 질문

211

pigi-1004

작성한 질문수 3

0

안녕하세요 이번 강의를 듣고 있는 수강생입니다. 다름이 아니라 클래스쪽 공부를 지속하다가 질문 사항이 있어서 등록합니다. 

super() 기능에 대해서 궁금해서 밑에 예시 자료 같이 씁니다. 

class Test_Parent:

    def __init__(self,a,b):

        self.a = a

        self.b = b

    def sum(self):

        return self.a+self.b

class Test_Child(Test_Parent):

    def __init__(self,a,b):

        super().__init__(a,b) => #Test_Parent 내 생성자 변수를 같은 형식으로 상속.

    def sum(self):

        return super().sum() => #Test_Parent내에 sum 함수내 self.a+self.b를 super().sum()으로 상속. 

질문.

1.  제가 나름 이해한 토대로 주석을  넣었는데 제가 제대로 이해 한 것이 맞는건가요? 

2. 사실상 이 예시에는 나오지 않지만 super()를 쓰지 않고 그냥 자식 객체를 통해서 불러올 수도 있는데, 굳이 super() 함수를 사용하는 이유가 매서드 오버라이딩을 좀 더 용이하기 위해서, 또는 타인이 보았을 때 매서드 간에 확실한 상속 관계를 나타내기 위해서 사용하는건가요?

3. 자식 생성자에 super()를 생성하면, 부모 생성자에는 영향이 없는것이 맞나요?  

python

답변 3

0

좋은사람

네 동일합니다.

0

pigi-1004

답변 정말 감사합니다!

한가지만 더 여쭤봐도 될가요?

예시 자료에서 보여주신 것 중에 'ChildA' ,'ChildB'는 표현 방식만 다를 뿐 다른 차이점이 없는건가요?

그리고 제가 올린 예시 자료 또한  'super().__init__(a,b)' 또한 ChildA' ,'ChildB 표현 방식만 다를 뿐 동일하게 작동하는게 맞는건가요?

직접 쳐서 확인해봤는데 결과 값은 같아서요  

알려주시면 감사하겠습니다 ㅠㅠ

0

좋은사람

좋은 질문입니다.

1. 맞습니다.

2. 다중 상속일 경우에는 super()메소드를 직접적으로 호출 할 수 있습니다.

3. 네 없습니다. 부모생성자에서 초기값을 받을 경우 super를 사용할 수 있습니다.

class Base(object):
    def __init__(self):
        print "Base created"

class ChildA(Base):
    def __init__(self):
        Base.__init__(self)

class ChildB(Base):
    def __init__(self):
        super(ChildB, self).__init__()

ChildA() 
ChildB()

인스턴스 변수 문의

0

22

1

챕터 03_04 (튜플) 교육자료

0

25

2

Package(3-1) Sub 폴더 자료

0

32

1

아톰 출력 안됨

0

56

2

강의자료 메일 발송 요청 드립니다.

0

68

1

강의자료 메일로 보내주실 수 있으실까요?

1

45

0

Iterable 요소는 리스트로 작성해야하는 것 맞나요?

1

71

2

강의자료 부탁드립니다

0

53

2

if Flase: print('Bad')

0

55

1

=와 == 의 차이

0

73

1

functions 함수 섭들을려고하는데요

0

62

1

강의자료 부타드리겠습니다!

0

54

0

VSCODE에 VIEW에서 SELECTED INTERPRETER조회가 안됩니다.

0

63

1

강의자료 부탁드립니다.

0

47

0

dict의 Key를 바꾸는 방법

0

59

1

강의자료부탁드립니다

0

56

1

run withount 디버깅 및 F5+ctrl이 안먹혀요

0

57

1

강의 자료와 예정 다운로드

0

69

2

객체지향 vs 함수형

0

53

1

어렵네요 설정도

0

62

1

설정이 잘 된건지

0

46

1

맥 os vscode 설정 - python interpreter select

0

94

1

강의자료 부탁드립니다. mytoughgirl@naver.com 입니다.

0

39

1

vscode로 수업 진행한 영상은 없는건가요?

0

52

2