← 회차 전체 문제편집복원내용 검수 완료2026년 정보처리기사 2회 필기 · 소프트웨어 개발 · 35번
여러 함수에 반복된 조건 분기를 리팩터링하는 방법으로 가장 적절한 것은?
현 상태: A·B·C 유형별 요금 계산 if/else가 아홉 함수에 반복된다.
변경 요구: D 유형을 추가하고 기존 계산 결과는 유지한다.
- 1
각 분기 앞에 긴 주석을 추가하고 중복 코드는 유지한다.
오답 이유주석은 의도를 보완할 수 있지만 중복된 변경 지점과 분기 구조를 제거하지 못한다. - 2
유형별 계산을 같은 인터페이스의 전략 객체로 분리하고 호출부가 전략을 선택하게 한다.
정답 근거전략별 책임을 분리하면 중복을 줄이고 새 유형을 기존 계산 코드 수정 없이 추가할 수 있다. - 3
호출 함수마다 조건문을 한 번 더 복사해 변경 지점을 늘린다.
오답 이유조건문을 더 복제하면 수정 지점과 불일치 가능성이 늘어난다. - 4
변수 이름을 한 글자로 줄여 분기문 길이만 줄인다.
오답 이유짧은 이름은 의미를 감추며 구조적 중복을 해결하지 못한다.
정답·상세해설정답 2번
여러 위치의 유형 분기는 새 유형이 생길 때 모든 조건문을 함께 고쳐야 해 변경 누락 위험이 크다. 유형별 계산을 공통 인터페이스의 전략으로 분리하면 각 규칙을 한곳에 모으고 새 전략 추가로 확장할 수 있다.
콘텐츠 기록콘텐츠 정보
- 자료 유형
- 편집복원
- 검수 상태
- 내용 검수 완료
- 최종 검수
- 2026-08-22