다음 설명에 해당하는 GoF 디자인 패턴을 쓰시오.
컬렉션의 내부 표현을 노출하지 않고 원소를 차례대로 접근할 수 있게 한다. hasNext와 next 같은 동작으로 순회 책임을 별도 객체에 맡긴다.
모범답안
Iterator 패턴
풀이와 판단 근거
Iterator(이터레이터) 패턴이다. 컬렉션은 원소 저장 책임을 유지하고, 별도 이터레이터가 현재 위치와 다음 원소 접근 책임을 맡는다.
클라이언트는 배열·연결 리스트·트리 같은 내부 표현을 몰라도 hasNext·next와 같은 공통 순회 인터페이스로 원소를 차례로 방문할 수 있다.
Adapter는 인터페이스 형식을 바꾸고, Visitor는 원소 구조와 연산을 분리하므로 단순 순회 책임을 캡슐화하는 Iterator와 목적이 다르다.
자주 틀리는 지점
- 인터페이스를 감싼다는 이유만으로 호환되지 않는 인터페이스를 변환하는 Adapter로 답함
- 각 원소에 새로운 연산을 적용하는 Visitor와 원소 접근 순서 자체를 담당하는 Iterator를 혼동함
- 컬렉션 내부 구조를 직접 노출해야 순회할 수 있다고 잘못 판단함
자동 판정 방식
한글·영문 동의어와 문항별 필수 개념을 확인하며, 정답 단어가 부정되거나 반대 개념과 함께 쓰이면 자동 정답으로 확정하지 않습니다. 부분점수는 ITPASSLAB의 학습용 예상 점수입니다.