기존 클라이언트는 v1 응답의 display_name 필드를 사용한다. 서버가 이 필드를 즉시 삭제하고 name으로 바꾼 뒤 기존 클라이언트가 값을 읽지 못했다. 손상된 호환성의 명칭과 안전한 변경 방법을 쓰시오.
기존 응답
{ "id": 7, "display_name": "Kim" }변경 응답
{ "id": 7, "name": "Kim" }모범답안
하위 호환성(Backward Compatibility)이 손상됐다. display_name을 일정 기간 유지하면서 name을 추가하거나, 새 버전의 인터페이스에서 변경한 뒤 점진적으로 이전한다.
풀이와 판단 근거
하위 호환성은 새 인터페이스가 이전 버전의 클라이언트 동작을 계속 지원하는 성질이다. 기존 필드의 즉시 삭제는 이미 배포된 클라이언트의 계약을 깨뜨린다.
기존 필드를 유지한 채 새 필드를 추가하고 폐기 일정을 안내하거나, 버전을 분리해 두 응답을 병행한 뒤 사용량을 확인하며 전환해야 한다.
자주 틀리는 지점
- 상위 호환성으로 답함
- 기존 필드를 즉시 삭제한 채 클라이언트 수정만 요구
- 필드 이름을 바꾸어도 인터페이스 계약에는 영향이 없다고 판단
자동 판정 방식
한글·영문 동의어와 문항별 필수 개념을 확인하며, 정답 단어가 부정되거나 반대 개념과 함께 쓰이면 자동 정답으로 확정하지 않습니다. 부분점수는 ITPASSLAB의 학습용 예상 점수입니다.