#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http

제목[re]class에서 __str__에 대한 질문2021-11-28 16:24
작성자

안녕하세요. 조교 한동현입니다.


그 단 하나의 차이점인 super().__str__() 가 만들어내는 차이점입니다.

해당  super().__str__() 구문의 역할을 알고 계신가요?


super() 는 현재 GraduatedStudent 클래스와 연결된 부모 클래스의 인스턴스를 나타낸다고 보면 쉽습니다.

그럼 super().__str__() 는 부모 클래스인 Student의 __str__() 함수를 호출한 것과 같습니다.


__init__ 에서 super().__init__(givenid, givenName) 을 통해서 현재 클래스와 연결된 부모 클래스의 id와 name을 초기화 시켜줬지요?

Student 클래스의 __str__() 는 그때 초기화한 id, name 값을 반환해주도록 작성되어 있을 겁니다.


그럼 super().__init__() 은 "id:20190001, name:Harry Potter" 를 반환하겠죠.

+ 로 ", graduation:{}".format(self.__graduatedYear) 와 연결되어 id, name, graduation 이 연결된 형태로 print 된 것이구요.

두번째 사진에선 super().__init__()  이 없으니 name과 id 가 포함되지 않은 채로 print 됐을테구요.


이해가 되시나요?

super()가 무엇을 나타내는지 이해하신다면 쉽게 알아차리실 겁니다.


감사합니다.

댓글
이전class에서 __str__에 대한 질문2021-11-26
다음20년 2학기 기말 질문2021-11-26