
정답애자일은 요구사항 변화가 잦은 중소규모 프로젝트에 적합하므로, 요구사항 변화가 적은 대규모 시스템에 적합하다는 설명이 옳지 않습니다.
핵심 개념
애자일 방법론의 가치와 적합한 프로젝트 유형
애자일 방법론은 짧은 반복(iteration) 주기로 동작하는 소프트웨어를 만들어 가며 변화하는 요구사항에 유연하게 대응하는 개발 방식입니다. 애자일 선언문은 공정과 도구보다 개인과 상호작용을, 포괄적인 문서보다 작동하는 소프트웨어를, 계약 협상보다 고객과의 협력을, 계획을 따르기보다 변화에 대응하기를 더 가치 있게 여긴다고 선언합니다. 따라서 요구사항 변경이 잦고 규모가 크지 않은 프로젝트에 특히 적합하며, XP·스크럼·DSDM·크리스탈·FDD 등이 대표적인 애자일 기법입니다.
선지별 해설
①애자일은 요구사항 변화가 잦고 비교적 규모가 작은 프로젝트에 적합합니다. 요구사항이 안정적인 대규모 시스템은 오히려 폭포수 모델 같은 계획 기반 방법론이 유리하므로, 이 선지가 정답입니다.
②애자일 선언문의 두 번째 가치인 "포괄적인 문서보다 작동하는 소프트웨어를"에 그대로 해당합니다. 문서를 아예 만들지 않는 것이 아니라 실행 가능한 산출물을 더 중시한다는 의미입니다.
③애자일 선언문의 첫 번째 가치인 "공정과 도구보다 개인과 상호작용을"과 일치합니다. 일일 스탠드업 회의나 페어 프로그래밍처럼 대면 소통을 강조하는 실천법이 여기서 나옵니다.
④XP와 DSDM은 모두 대표적인 애자일 기법입니다. 이 밖에 스크럼, 크리스탈, FDD, 린 소프트웨어 개발 등도 애자일 계열로 분류됩니다.

정답의존 역전 원칙에 따르면 클라이언트는 구체 클래스가 아니라 추상 클래스나 인터페이스에 의존해야 하므로, 반대로 서술한 이 선지가 옳지 않습니다.
핵심 개념
객체지향 설계 원칙(SOLID)
객체지향 설계 원칙은 변경에 강하고 재사용하기 좋은 구조를 만들기 위한 다섯 가지 지침으로, 흔히 SOLID로 묶어 부릅니다. 단일 책임 원칙(SRP)은 클래스가 하나의 책임만 갖게 하고, 개방-폐쇄 원칙(OCP)은 확장에는 열려 있고 변경에는 닫혀 있게 하며, 리스코프 치환 원칙(LSP)은 상위 타입을 하위 타입으로 바꿔도 동작이 유지되게 합니다. 인터페이스 분리 원칙(ISP)은 범용 인터페이스를 역할별로 쪼개고, 의존 역전 원칙(DIP)은 구체 클래스가 아닌 추상(인터페이스)에 의존하게 합니다.
선지별 해설
①개방-폐쇄 원칙(OCP)의 정의 그대로입니다. 기존 코드를 수정하지 않고 상속이나 인터페이스 구현으로 기능을 덧붙일 수 있는 구조를 지향한다는 뜻입니다.
②리스코프 치환 원칙(LSP)에 해당합니다. 상위 타입이 쓰이는 자리에 하위 타입 객체를 넣어도 프로그램의 정확성이 깨지지 않아야 올바른 상속 관계입니다.
③의존 역전 원칙(DIP)은 상위 모듈과 클라이언트가 구체 클래스가 아니라 추상 클래스·인터페이스에 의존해야 한다고 규정합니다. 설명이 정반대로 뒤집혀 있으므로 이 선지가 정답입니다.
④인터페이스 분리 원칙(ISP)입니다. 쓰지도 않는 메서드까지 강제로 구현하게 만드는 뚱뚱한 인터페이스를 역할별로 잘게 나누라는 원칙입니다.