Chapter 13. 뼈대만 있는 청사진: 추상 클래스와 타입

파이썬에서 클래스를 만들 때, “이 클래스를 상속받는 모든 로봇들은 반드시 power_up() 이라는 기능을 스스로 만들어야 해!” 하고 강제하고 싶다면 어떻게 해야 할까요?
이때 등장하는 것이 바로 추상 클래스(Abstract Class)입니다.
자체적으로는 완성된 모양(인스턴스)을 가질 수 없지만, 자식 클래스들이 반드시 구현해야 할 핵심 뼈대와 규칙을 제시하는 ‘홀로그램 청사진’과도 같습니다. 이 장에서는 파이썬의 abc 모듈을 이용한 강력한 설계 규칙과 파이썬 내부 자료형들의 뼈대 구조, 그리고 코드의 안정성을 높여주는 ‘타입 힌트(Type Hint)’에 대해 배웁니다.
📖 목차
- 추상 클래스 기본기 (
abc모듈)- 뼈대를 만드는 마법:
ABC,ABCMeta - 부모인 척하기:
register와 가상 서브클래스 - 암묵적 룰: 덕 타이핑과 프로토콜 인터페이스
- 뼈대를 만드는 마법:
- 숫자들의 가계도 (
numbers)- 정수(
Integral), 실수(Real), 복소수(Complex), 수(Number)의 추상 클래스 구조
- 정수(
- 컬렉션의 뼈대 (
collections.abc)- 자료 구조의 조상님:
Sequence,Mapping,Set - 읽기 전용 뷰 자료형들 (
KeysView,ValuesView등)
- 자료 구조의 조상님:
- 시퀀스를 다루는 내장 도구들
- 여러 개를 묶어주는
zip, 번호를 매겨주는enumerate - 값을 뒤집어주는
reversed, 범위 요정range
- 여러 개를 묶어주는
- 타입 힌트와 코드 테스트 (
typing,doctest)- 내 코드에 명찰 달아주기 (Type Annotation)
- 나만의 타입 만들기:
TypeVar,Generic - 주석으로 자동 테스트하기:
doctest
서브목차