Python 추상 클래스와 추상 메서드: ABC·abstractmethod의 실제 동작
Python에서 추상 클래스는 “상속만 가능한 불완전한 클래스”라기보다, 구현체가 지켜야 할 최소 계약을 실행 시점에도 확인하는 도구에 가깝다. abc.ABC를 상속하고 @abstractmethod를 붙이면, 구현되지 않은 추상 메서드가 남은 클래스의 인스턴스 생성을 막을 수 있다.여기서 자주 놓치는 조건이 있다. ABC를 상속했다는 이유만으로 항상 인스턴스화가 금지되는 것은 아니다. 클래스의 __abstractmethods__에 구현되지 않은 항목이 남아 있을 때만 TypeError가 발생한다.가장 작은 실행 예제직렬화 형식을 예로 들면 계약과 공통 구현을 한 클래스에 둘 수 있다.from abc import ABC, abstractmethodfrom pathlib import Pathclass Ser..