List 추상화와 반복자 구현 선택표
추상화 도입 전에는 인터페이스를 미래에 막연히 대비해 추가하지 않습니다. 이미 두 구현을 바꾸어 써야 하고 소비자가 동일한 연산을 요구할 때 비용을 회수합니다. 단 하나의 안정된 구현만 있다면 구체 타입이 더 단순할 수 있습니다.
| 질문 | 관찰 | 결정 |
|---|---|---|
| 호출자가 필요한 기능은 무엇인가 | 사용 메서드 목록 | 작은 역할 설계 |
| 구현을 언제 고르는가 | 조립 시점 | main에서 결정 |
| 행동이 같은가 | 예외·순서 결과 | 계약 비교 |
| 성능 선택이 바뀌는가 | 운영 지표 | 주입 구현 교체 |
핵심: List 추상화와 반복자는 기능 계약과 구현 선택을 분리합니다. 다음 절에서는 이론적 Big-O와 실제 연속 메모리·캐시 효과를 분리해 측정 가능한 비용 모델을 만듭니다.