본문으로 바로 가기

정보처리기사 필기 · 소프트웨어 설계 과목

정보처리기사 애플리케이션 설계 핵심정리

중요도
★★★★★ (5 / 5)
출제 비중
소프트웨어 설계 20문항 중 약 7문항 (35%)

모듈의 결합도·응집도, 객체지향의 원리, 디자인 패턴, 소프트웨어 아키텍처를 다룹니다.

애플리케이션 설계, 이것만은 꼭 외우세요

  • 좋은 모듈은 결합도(모듈 사이의 의존)는 낮고 응집도(모듈 안의 관련성)는 높습니다.
  • 결합도(약함 → 강함): 자료 → 스탬프 → 제어 → 외부 → 공통 → 내용.
  • 응집도(강함 → 약함): 기능 → 순차 → 교환 → 절차 → 시간 → 논리 → 우연.
  • 객체지향의 특징: 캡슐화, 상속, 다형성, 추상화, 정보 은닉.
  • 디자인 패턴: 생성(싱글톤, 팩토리 메서드), 구조(어댑터, 데코레이터), 행위(옵서버, 전략).

애플리케이션 설계 대표 문제 5개

AI 예상문제검수 전소프트웨어 설계 › 애플리케이션 설계★★★★★

문제 1. 바람직한 소프트웨어 모듈 설계의 방향으로 옳은 것은?

  1. ① 결합도는 높게, 응집도는 높게
  2. ② 결합도는 높게, 응집도는 낮게
  3. ③ 결합도는 낮게, 응집도는 높게
  4. ④ 결합도는 낮게, 응집도는 낮게
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ③ 결합도는 낮게, 응집도는 높게

핵심: 좋은 모듈: 결합도는 낮게, 응집도는 높게

결합도는 모듈끼리 서로 기대는 정도로, 낮아야 하나를 고쳐도 다른 것이 영향을 덜 받습니다. 응집도는 모듈 안의 내용이 한 가지 일에 모여 있는 정도로, 높을수록 좋습니다.

틀린 선지

  • ① 결합도는 높게, 응집도는 높게: 결합도가 높으면 유지보수가 어렵습니다.
  • ② 결합도는 높게, 응집도는 낮게: 가장 나쁜 설계입니다.
  • ④ 결합도는 낮게, 응집도는 낮게: 응집도는 높아야 합니다.
AI 예상문제검수 전소프트웨어 설계 › 애플리케이션 설계★★★★★

문제 2. 결합도 가운데 결합 정도가 가장 강한(가장 나쁜) 것은?

  1. ① 자료 결합도
  2. ② 스탬프 결합도
  3. ③ 공통 결합도
  4. ④ 내용 결합도
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ④ 내용 결합도

핵심: 결합도(약→강): 자료 → 스탬프 → 제어 → 외부 → 공통 → 내용

내용 결합도는 한 모듈이 다른 모듈의 내부 기능이나 자료를 직접 건드리는 것으로, 가장 강하고 나쁜 결합입니다.

틀린 선지

  • ① 자료 결합도: 가장 약한(가장 좋은) 결합도입니다.
  • ② 스탬프 결합도: 자료 구조(배열, 구조체)를 통째로 넘기는 결합도로, 두 번째로 약합니다.
  • ③ 공통 결합도: 전역 변수를 함께 쓰는 결합도로, 두 번째로 강합니다.
AI 예상문제검수 전소프트웨어 설계 › 애플리케이션 설계★★★★★

문제 3. 객체지향의 특징 가운데, 자료(속성)와 그 자료를 다루는 함수(메서드)를 하나로 묶고 내부를 감추는 것은?

  1. ① 캡슐화
  2. ② 상속
  3. ③ 다형성
  4. ④ 연관
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ① 캡슐화

핵심: 캡슐화: 자료와 함수를 묶고 내부를 감춘다

캡슐화는 알약 캡슐처럼 속을 감싸는 것입니다. 바깥에서는 공개된 메서드로만 다룰 수 있어 잘못 고치는 일이 줄어듭니다.

틀린 선지

  • ② 상속: 부모 클래스의 속성과 메서드를 자식 클래스가 물려받는 것입니다.
  • ③ 다형성: 같은 이름의 메서드가 객체에 따라 다르게 동작하는 것입니다.
  • ④ 연관: 클래스 사이의 관계를 가리키는 말로, 객체지향의 기본 특징이 아닙니다.
AI 예상문제검수 전소프트웨어 설계 › 애플리케이션 설계★★★★★

문제 4. GoF 디자인 패턴 가운데 '생성 패턴'에 해당하는 것은?

  1. ① 어댑터(Adapter)
  2. ② 옵서버(Observer)
  3. ③ 싱글톤(Singleton)
  4. ④ 데코레이터(Decorator)
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ③ 싱글톤(Singleton)

핵심: 생성 패턴: 싱글톤, 팩토리 메서드, 추상 팩토리, 빌더, 프로토타입

싱글톤은 객체를 딱 하나만 만들어 어디서나 함께 쓰게 하는 생성 패턴입니다.

틀린 선지

  • ① 어댑터(Adapter): 서로 맞지 않는 인터페이스를 이어 주는 구조 패턴입니다.
  • ② 옵서버(Observer): 한 객체의 상태가 바뀌면 다른 객체들에게 알려 주는 행위 패턴입니다.
  • ④ 데코레이터(Decorator): 객체에 기능을 덧붙이는 구조 패턴입니다.
AI 예상문제검수 전소프트웨어 설계 › 애플리케이션 설계★★★★☆

문제 5. 객체지향 설계 원칙(SOLID) 가운데 '자식 클래스는 언제나 부모 클래스를 대신할 수 있어야 한다'는 원칙은?

  1. ① 단일 책임 원칙(SRP)
  2. ② 리스코프 치환 원칙(LSP)
  3. ③ 개방-폐쇄 원칙(OCP)
  4. ④ 의존 역전 원칙(DIP)
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ② 리스코프 치환 원칙(LSP)

핵심: 리스코프 치환 원칙: 자식은 부모 자리에 그대로 쓸 수 있어야 한다

리스코프 치환 원칙은 부모 클래스를 쓰던 자리에 자식 클래스를 넣어도 프로그램이 문제없이 돌아가야 한다는 원칙입니다.

틀린 선지

  • ① 단일 책임 원칙(SRP): 클래스는 한 가지 책임만 져야 한다는 원칙입니다.
  • ③ 개방-폐쇄 원칙(OCP): 확장에는 열려 있고 수정에는 닫혀 있어야 한다는 원칙입니다.
  • ④ 의존 역전 원칙(DIP): 구체적인 것이 아니라 추상적인 것에 의존해야 한다는 원칙입니다.

직접 풀어서 확인해 보세요.