CHAAANY ARCHIVE

python super

1개의 기록을 주제별로 둘러보세요.

Python 상속과 Interface 설계: super·MRO·Protocol·Composition 선택 기준

상속은 코드 복사 없이 기능을 확장하는 문법이지만, 재사용을 위한 기본 선택지는 아니다. 부모의 내부 변화가 자식의 동작을 흔들 수 있고, 계층이 깊어지면 어느 method가 실행되는지 추적하기 어려워진다. 먼저 하위 타입 관계가 진짜 필요한지, 아니면 단지 기능을 빌려 쓰고 싶은지를 나눠 봐야 한다.Python에서는 interface를 표현하는 방법도 하나가 아니다. duck typing, abc.ABC, typing.Protocol이 각각 다른 강도의 계약을 제공한다. 여기에 composition까지 놓고 보면 설계 선택이 훨씬 선명해진다.상속은 is-a 관계와 대체 가능성에서 시작한다Dog가 Animal의 한 종류라는 문장만 자연스럽다고 충분하지는 않다. 부모 타입을 기대하는 코드에 자식 객체를 넣..

728x90