상세 컨텐츠

본문 제목

Stack Overflow - Understanding Python super() with __init__() methods

Python

by techbard 2015. 5. 13. 17:42

본문

반응형

원문




Q: 다음 두 개의 자식 클래스의 차이는 무엇인가?


A:


1. 가장 큰 차이는 부모 클래스를 참조할 때 __init__ 에서 super의 사용 유무이다.

2. ChildA는 super를 사용하지 않고 있는데, 이 경우 Base 클래스를 다른 것으로 바꾸어야 하는 경우 쓸 수 없으며 Base를 사용하는 다른 메쏘드 들도 바꾸고, __init__ 내의 Base도 바꿔야 한다.

3. 반면에 ChildB는 부모 클래스만 한 번 바꿔주면 된다.



4. 결국 super의 사용이 부모를 직접 참조하는 코드의 유지보수를 쉽게 한다.

반응형

관련글 더보기

댓글 영역