Python 프로토콜: 정적 덕 타이핑과 상속의 진화
2025-02-02
Python의 상속 메커니즘은 항상 흥미로운 주제였습니다. 전통적으로 Python은 Java와 유사하게 형식 기반 상속을 사용했습니다. 하지만 덕 타이핑(매직 메서드를 통해 구현)의 유연성은 제한적입니다. PEP 544는 프로토콜을 도입하여 구조적 하위 타이핑, 즉 정적 덕 타이핑을 정의할 수 있도록 했습니다. Protocol 클래스를 상속함으로써 개발자는 메서드 집합을 선언할 수 있으며, 이러한 메서드를 구현하는 모든 클래스는 해당 프로토콜의 인스턴스로 간주됩니다. 이를 통해 기존 덕 타이핑의 확장성 문제가 해결되고 더욱 깔끔하고 유지보수가 용이한 코드를 작성할 수 있습니다.
개발
덕 타이핑