
1과목 소프트웨어 설계는 요구사항, UML, 설계 원칙, 디자인 패턴에서 '순서'와 '종류'를 묻는 문제가 대부분입니다. 순서만 정확히 알면 바로 맞히는 문제가 많아서, 두문자 몇 개만 제대로 잡아도 과락 걱정이 크게 줄어요.
이 글 하나만 보면 되도록, 외울 목록만 적지 않고 용어마다 뜻과 예시를 같이 적었습니다. 헷갈리기 쉬운 UML 관계 기호, 결합도·응집도 순서, 디자인 패턴 23개는 그림으로도 정리했어요.
※ 2026년 9월 기준 정보처리기사 필기 출제기준(5과목 체계)에 맞춰 정리했습니다. 응시 자격·과목 구성·공부 순서는 정보처리기사 시험 과목 총정리 글에서 볼 수 있어요.
이 글의 순서
- 핵심 암기 키워드 한눈에 보기
- 요구사항 확인
- UML과 객체지향 분석
- 설계 원칙과 모듈
- 디자인 패턴과 아키텍처
- 헷갈리지 않게 외우는 요령
- A4 한 장 요약본
1. 핵심 암기 키워드 한눈에 보기
키워드만 보고 오른쪽 내용이 바로 떠오르면 통과입니다. 막히는 항목만 아래 본문에서 다시 보세요.
| 항목 | 암기 키워드 | 풀어 쓰면 |
| 요구사항 개발 프로세스 | 도분명확 | 도출 → 분석 → 명세 → 확인 |
| 요구사항의 분류 | 기능 / 비기능 | 기능 = 무엇을 / 비기능 = 성능·보안·가용성 |
| XP 5가지 가치 | 의사피존용단 | 의사소통 · 피드백 · 존중 · 용기 · 단순성 |
| 스크럼 | PO · SM · 개발팀 | PO(백로그 우선순위) · SM(조력자) · 개발팀 / 계획 → 데일리 → 리뷰 → 회고 |
| UML 구성 요소 | 사관다 | 사물 · 관계 · 다이어그램 |
| UML 관계 6가지 | 연집포일의실 | 연관 · 집합◇ · 포함◆ · 일반화(상속) · 의존(점선) · 실체화(인터페이스 구현) |
| UML 다이어그램 13종 | 클객컴배복패 / 유시커상활상타 | 구조: 클객컴배복패 / 행위: 유시커상활상타 |
| 유스케이스 다이어그램의 관계 | include = 필수 / extend = 조건부 | include = 반드시 함께 / extend = 조건일 때만 |
| 4+1 뷰 | 논구프배유 | 논리 · 구현 · 프로세스 · 배치 + 유스케이스 |
| 객체지향 분석 방법론 | 럼바우 = 객동기 | 럼바우: 객체(객체 D) → 동적(상태 D) → 기능(DFD) |
| 객체지향의 핵심 개념 | 캡상추다 | 캡슐화 · 상속 · 추상화 · 다형성 (+정보 은닉) |
| 객체지향 설계 원칙 | SOLID | 단일 책임 · 개방-폐쇄 · 리스코프 치환 · 인터페이스 분리 · 의존 역전 |
| 결합도 | 자스제외공내 | 약 → 강: 자료 · 스탬프 · 제어 · 외부 · 공통 · 내용 |
| 응집도 | 기순교절시논우 | 강 → 약: 기능 · 순차 · 교환 · 절차 · 시간 · 논리 · 우연 |
| 팬인과 팬아웃 | 팬인↑ 팬아웃↓ | 팬인 = 나를 호출하는 수(높게) / 팬아웃 = 내가 호출하는 수(낮게) |
| UI 설계 원칙 | 직유학유 | 직관성 · 유효성 · 학습성 · 유연성 |
| GoF 디자인 패턴 23가지 | 생성 5 · 구조 7 · 행위 11 | 생성: 추빌팩프싱 / 구조: 어브컴데퍼플프 / 행위: 책커인반중메옵상전템방 |
2. 요구사항 확인
요구사항 개발 프로세스
암기 키워드 ▸ 도분명확
요구사항을 모으고 정리해서 확정하는 4단계입니다. 순서를 바꿔 놓고 고르게 하는 문제가 자주 나와요.
| 단계 | 하는 일 |
| ① 도출 (Elicitation) | 이해관계자에게서 요구사항을 끌어내는 단계. 인터뷰, 설문, 브레인스토밍, 워크숍, 프로토타이핑, 유스케이스 등을 활용 |
| ② 분석 (Analysis) | 모은 요구사항에서 충돌·누락·모호한 부분을 찾아 정리하고 범위를 정함. 자료 흐름도(DFD), 자료 사전(DD) 등 활용 |
| ③ 명세 (Specification) | 분석한 요구사항을 요구사항 명세서(SRS)로 문서화. 수학·기호로 쓰는 정형 명세(예: Z)와 자연어·그림으로 쓰는 비정형 명세가 있음 |
| ④ 확인 (Validation) | 명세서가 이해관계자의 요구를 정확히 담았는지 검토·검증. 동료 검토, 워크스루, 인스펙션 사용 |
시험 포인트 순서는 도출 → 분석 → 명세 → 확인. '정형 명세 = 수학적 기호, 비정형 명세 = 자연어'도 짝으로 나옵니다.
요구사항 검토(검증) 방법
작성한 요구사항 명세서를 검토하는 대표적인 방법 세 가지입니다.
| 용어 | 설명 |
| 동료 검토 (Peer Review) | 작성자가 명세서 내용을 직접 설명하고, 동료들이 들으면서 결함을 찾는 방식 |
| 워크스루 (Walk Through) | 검토 자료를 회의 전에 미리 나눠 주고, 짧은 회의로 오류를 일찍 찾는 방식 |
| 인스펙션 (Inspection) | 작성자를 뺀 다른 전문가들이 명세서를 꼼꼼히 확인하며 결함을 찾는 가장 공식적인 방식 |
요구사항의 분류
암기 키워드 ▸ 기능 / 비기능
| 용어 | 설명 |
| 기능 요구사항 | 시스템이 '무엇을' 하는지. 입력·출력·처리·저장 기능. 예) 회원가입, 결제, 상품 검색 |
| 비기능 요구사항 | 기능 외의 품질과 제약 조건. 성능, 보안, 가용성, 신뢰성, 호환성, 사용성 등. 예) '검색 결과는 3초 안에 보여 준다' |
시험 포인트 '얼마나 빠르게·안전하게·안정적으로'가 들어가면 비기능 요구사항입니다.
구조적 분석 도구: 자료 흐름도(DFD)와 자료 사전(DD)
요구사항 분석 단계에서 쓰는 대표 도구입니다. 기호의 뜻을 묻는 문제가 나와요.
자료 흐름도(DFD) 구성 요소
| 구성 요소 | 기호 | 의미 |
| 프로세스 (Process) | 원 ○ | 입력 데이터를 출력 데이터로 바꾸는 처리 |
| 자료 흐름 (Data Flow) | 화살표 → | 데이터가 움직이는 방향 |
| 자료 저장소 (Data Store) | 평행선 = | 파일·DB처럼 데이터를 저장하는 곳 |
| 단말 (Terminator) | 사각형 □ | 시스템 밖에서 데이터를 주고받는 사람·조직 (데이터의 출발점·도착점) |
자료 사전(DD) 기호
| 기호 | 의미 | 예시 |
| = | 정의 (~로 구성된다) | 주소 = 시 + 구 + 동 |
| + | 연결 (그리고) | 이름 + 전화번호 |
| ( ) | 생략 가능 | (중간 이름) |
| [ | ] | 선택 (또는) | [현금 | 카드] |
| { } | 반복 | {주문 상품} |
| * * | 주석 | *비고* |
애자일 선언문 4가지 가치
애자일은 짧은 주기로 개발하고 피드백을 반복하는 방법론입니다. 선언문의 '○○보다 △△를' 문장을 그대로 묻습니다.
| 더 가치 있게 여기는 것 | 그보다 덜 중요하게 보는 것 |
| 개인과 상호작용 | 프로세스와 도구 |
| 작동하는 소프트웨어 | 포괄적인 문서 |
| 고객과의 협력 | 계약 협상 |
| 변화에 대응하기 | 계획을 따르기 |
시험 포인트 오른쪽 항목도 가치가 있지만 왼쪽을 '더' 중요하게 여긴다는 뜻입니다. 애자일의 종류: XP, 스크럼, 칸반, 린(Lean), 크리스탈, FDD.
XP(eXtreme Programming) 5가지 가치
암기 키워드 ▸ 의사피존용단
XP는 고객 요구에 빠르게 대응하려고 짧은 주기로 자주 릴리즈하는 애자일 방법론입니다.
| 용어 | 설명 |
| 의사소통 (Communication) | 개발자·관리자·고객 사이의 활발한 소통 |
| 피드백 (Feedback) | 빠른 테스트와 잦은 릴리즈로 즉시 피드백을 받음 |
| 존중 (Respect) | 팀원끼리 서로 존중 |
| 용기 (Courage) | 고객 요구가 바뀌어도 과감하게 대응 |
| 단순성 (Simplicity) | 지금 필요한 것만 단순하게 설계 |
| 주요 실천 방법 | 짝 프로그래밍(Pair Programming), 테스트 주도 개발(TDD), 지속적 통합(CI), 리팩토링, 작은 릴리즈, 공동 코드 소유, 전체 팀, 계획 게임 |
스크럼(Scrum)
암기 키워드 ▸ PO · SM · 개발팀
팀이 스스로 계획하고 스프린트라는 짧은 주기로 개발하는 애자일 방법론입니다.
| 용어 | 설명 |
| 제품 책임자 (PO) | 제품 백로그(요구사항 목록)를 만들고 우선순위를 정함 |
| 스크럼 마스터 (SM) | 팀이 스크럼을 잘 해내도록 돕는 조력자. 지시하는 사람이 아니라 방해 요소를 없애 주는 역할 |
| 개발팀 | 실제 개발을 하는 자율적인 팀 (보통 10명 이하) |
| 스프린트 | 1~4주 정도의 짧은 개발 주기 |
| 진행 순서 | 제품 백로그 → 스프린트 계획 회의 → 스프린트(매일 15분 데일리 스크럼) → 스프린트 리뷰(결과 시연) → 스프린트 회고(개선점 정리) |
| 번다운 차트 | 남은 작업량을 시간 흐름에 따라 보여 주는 그래프 (시간이 갈수록 내려감) |
3. UML과 객체지향 분석
UML 구성 요소
암기 키워드 ▸ 사관다
| 용어 | 설명 |
| 사물 (Things) | 모델을 이루는 요소. 구조 사물(클래스 등), 행동 사물(상호작용 등), 그룹 사물(패키지), 주해 사물(노트) |
| 관계 (Relationships) | 사물과 사물 사이의 연관성 |
| 다이어그램 (Diagrams) | 사물과 관계를 그림으로 표현한 것 |
UML 관계 6가지
암기 키워드 ▸ 연집포일의실
기호 모양과 함께 외워야 하는 파트입니다. 특히 집합(빈 마름모)과 포함(채운 마름모)을 헷갈리게 냅니다.

| 관계 | 표기 | 의미 | 예시 |
| 연관 (Association) | 실선 | 두 사물이 서로 관련되어 있음 | 학생 — 강의 |
| 집합 (Aggregation) | 빈 마름모 ◇ | 전체와 부분. 부분이 따로 존재할 수 있음 | 컴퓨터 ◇— 키보드 |
| 포함 (Composition) | 채운 마름모 ◆ | 전체와 부분. 전체가 사라지면 부분도 함께 사라짐 (합성) | 집 ◆— 방 |
| 일반화 (Generalization) | 실선 + 빈 삼각형 | 상속(is-a) 관계. 삼각형은 부모 쪽 | 승용차 ─▷ 자동차 |
| 의존 (Dependency) | 점선 화살표 | 한 사물이 다른 사물을 잠깐 사용 (매개변수 등) | 주문 - -> 결제 |
| 실체화 (Realization) | 점선 + 빈 삼각형 | 인터페이스를 클래스가 구현 | 새 - -▷ 날 수 있음 |
UML 다이어그램 13종
암기 키워드 ▸ 클객컴배복패 / 유시커상활상타
구조(정적) 다이어그램 6개와 행위(동적) 다이어그램 7개로 나뉩니다. 구조는 '모양', 행위는 '흐름'이라고 생각하면 쉬워요.
| 구분 | 다이어그램 | 설명 |
| 구조 | 클래스 | 클래스의 속성·메서드와 클래스 사이의 관계 |
| 구조 | 객체 | 특정 시점의 객체(인스턴스)와 그 관계 |
| 구조 | 컴포넌트 | 구현 모듈(컴포넌트) 사이의 구조와 인터페이스 |
| 구조 | 배치 | 하드웨어(노드)에 소프트웨어가 어떻게 배치되는지 |
| 구조 | 복합체 구조 | 클래스·컴포넌트의 내부 구조 |
| 구조 | 패키지 | 요소들을 패키지로 묶고 패키지 사이의 의존 관계를 표현 |
| 행위 | 유스케이스 | 사용자(액터) 입장에서 시스템이 제공하는 기능 |
| 행위 | 시퀀스 | 객체 사이의 메시지를 시간 순서대로 표현 (액터·객체·생명선·실행·메시지) |
| 행위 | 커뮤니케이션 | 객체 사이의 메시지와 연결(링크) 관계 중심 |
| 행위 | 상태 | 이벤트에 따라 객체의 상태가 바뀌는 과정 |
| 행위 | 활동 | 처리 흐름을 순서대로 표현 (순서도와 비슷) |
| 행위 | 상호작용 개요 | 여러 상호작용 다이어그램의 흐름을 요약 |
| 행위 | 타이밍 | 시간 제약에 따른 상태 변화 |
시험 포인트 시퀀스 다이어그램의 구성 요소(액터, 객체, 생명선, 실행 박스, 메시지)를 묻는 문제가 단골입니다.
유스케이스 다이어그램의 관계
암기 키워드 ▸ include = 필수 / extend = 조건부
| 용어 | 설명 |
| 포함 (include) | 기본 유스케이스를 실행할 때 반드시 함께 실행. 예) 결제하기 → 로그인(필수) |
| 확장 (extend) | 특정 조건일 때만 추가로 실행. 예) 결제하기 → 쿠폰 적용(선택) |
| 일반화 | 상위 유스케이스를 구체적인 하위 유스케이스로 나눔. 예) 결제 → 카드 결제, 계좌 이체 |
| 구성 요소 | 시스템 범위(사각형), 액터(사람·외부 시스템), 유스케이스(타원), 관계(선) |
4+1 뷰 (아키텍처를 보는 관점)
암기 키워드 ▸ 논구프배유
| 용어 | 설명 |
| 논리 뷰 | 시스템이 제공할 기능(기능 요구사항) 관점. 클래스 다이어그램 등으로 표현 |
| 구현 뷰 | 개발자 관점의 모듈·컴포넌트 구성 |
| 프로세스 뷰 | 실행 중인 프로세스·스레드, 동시성과 성능 관점 |
| 배치 뷰 | 컴포넌트가 물리적인 노드(서버)에 어떻게 배치되는지 |
| 유스케이스 뷰 (+1) | 나머지 4개 뷰를 하나로 묶어 주고 검증하는 기준 |
객체지향 분석 방법론
암기 키워드 ▸ 럼바우 = 객동기
| 용어 | 설명 |
| 럼바우 (Rumbaugh, OMT) | 가장 많이 나옴. 객체 모델링(객체 다이어그램) → 동적 모델링(상태 다이어그램) → 기능 모델링(자료 흐름도 DFD) 순서로 분석 |
| 부치 (Booch) | 미시적·거시적 개발 프로세스를 모두 사용 |
| 야콥슨 (Jacobson) | 유스케이스를 강조 |
| 코드와 요든 (Coad-Yourdon) | E-R 다이어그램으로 객체의 행위를 모델링 |
| 워프스-브록 (Wirfs-Brock) | 분석과 설계를 구분하지 않고, 고객 명세서를 평가해 설계까지 이어서 진행 |
시험 포인트 럼바우는 '객체-동적-기능' 순서와 각각 쓰는 다이어그램(객체-상태-DFD)의 짝이 출제 포인트입니다.
4. 설계 원칙과 모듈
객체지향의 핵심 개념
암기 키워드 ▸ 캡상추다
| 용어 | 설명 |
| 캡슐화 | 데이터(속성)와 기능(메서드)을 하나로 묶고 내부 구현은 숨김 → 정보 은닉, 결합도 감소 |
| 상속 | 상위 클래스의 속성·메서드를 하위 클래스가 물려받아 재사용 |
| 추상화 | 불필요한 부분은 빼고 핵심 특징만 뽑아 모델링 |
| 다형성 | 같은 메시지(메서드 이름)에 객체마다 다르게 반응. 오버로딩·오버라이딩으로 구현 |
| 정보 은닉 | 다른 객체에는 필요한 인터페이스만 공개하고 나머지는 숨김 |
객체지향 설계 원칙
암기 키워드 ▸ SOLID
| 용어 | 설명 |
| S · 단일 책임 (SRP) | 클래스는 단 하나의 책임만 가진다 |
| O · 개방-폐쇄 (OCP) | 기능 확장에는 열려 있고, 기존 코드 수정에는 닫혀 있어야 한다 |
| L · 리스코프 치환 (LSP) | 자식 클래스는 언제나 부모 클래스 자리를 대신할 수 있어야 한다 |
| I · 인터페이스 분리 (ISP) | 쓰지 않는 메서드에 의존하지 않도록 인터페이스를 작게 나눈다 |
| D · 의존 역전 (DIP) | 구체적인 클래스가 아니라 추상화(인터페이스)에 의존한다 |
결합도 (Coupling)
암기 키워드 ▸ 자스제외공내
모듈과 모듈 사이의 의존 정도입니다. 결합도는 약할수록(낮을수록) 좋은 설계예요. 표는 약한(좋은) 것부터 강한(나쁜) 순서입니다.

| 용어 | 설명 |
| ① 자료 결합도 | 매개변수로 필요한 데이터 값만 주고받음 — 가장 바람직 |
| ② 스탬프 결합도 | 배열·구조체 같은 자료 구조를 통째로 주고받음 |
| ③ 제어 결합도 | 다른 모듈의 처리 흐름을 바꾸는 제어 신호(플래그)를 넘김 |
| ④ 외부 결합도 | 다른 모듈에서 선언한 외부 데이터(변수)를 참조 |
| ⑤ 공통 결합도 | 전역 변수 같은 공유 데이터 영역을 여러 모듈이 함께 사용 |
| ⑥ 내용 결합도 | 다른 모듈의 내부 기능이나 데이터를 직접 참조·수정 — 가장 나쁨 |
응집도 (Cohesion)
암기 키워드 ▸ 기순교절시논우
모듈 안의 요소들이 서로 얼마나 관련되어 있는지입니다. 응집도는 강할수록(높을수록) 좋은 설계예요. 표는 강한(좋은) 것부터 약한(나쁜) 순서입니다.
| 용어 | 설명 |
| ① 기능적 응집도 | 모듈의 모든 요소가 하나의 기능을 위해 수행 — 가장 바람직 |
| ② 순차적 응집도 | 한 활동의 출력이 다음 활동의 입력으로 쓰임 |
| ③ 교환(통신)적 응집도 | 같은 입력·출력을 쓰는 서로 다른 기능이 모여 있음 |
| ④ 절차적 응집도 | 여러 기능이 정해진 순서에 따라 수행됨 |
| ⑤ 시간적 응집도 | 특정 시점에 함께 처리되는 기능들이 모임 (예: 초기화 모듈) |
| ⑥ 논리적 응집도 | 비슷한 성격의 처리들이 한 모듈에 모임 (예: 모든 입력 처리) |
| ⑦ 우연적 응집도 | 서로 관련 없는 요소들이 모임 — 가장 나쁨 |
시험 포인트 좋은 설계 = 결합도는 낮게, 응집도는 높게. 위 그림처럼 두 줄을 나란히 놓고 '왼쪽 끝이 좋다'로 기억하세요.
팬인(Fan-In)과 팬아웃(Fan-Out)
암기 키워드 ▸ 팬인↑ 팬아웃↓
| 용어 | 설명 |
| 팬인 | 어떤 모듈을 호출(제어)하는 상위 모듈의 수 = 그 모듈로 들어오는 화살표 수. 높으면 재사용이 잘 되는 모듈 |
| 팬아웃 | 어떤 모듈이 호출하는 하위 모듈의 수 = 그 모듈에서 나가는 화살표 수. 높으면 복잡해짐 |
| 좋은 설계 | 팬인은 높게, 팬아웃은 낮게 (다만 팬인이 너무 높으면 그 모듈에 장애가 났을 때 영향이 커짐) |
시험 포인트 모듈 구조도가 주어지면 '들어오는 선 = 팬인, 나가는 선 = 팬아웃'만 세면 됩니다.
UI 설계 원칙
암기 키워드 ▸ 직유학유
| 용어 | 설명 |
| 직관성 | 누구나 쉽게 이해하고 사용할 수 있어야 함 |
| 유효성 | 사용자의 목적을 정확하게 달성해야 함 |
| 학습성 | 누구나 쉽게 배우고 익힐 수 있어야 함 |
| 유연성 | 사용자의 요구를 최대한 받아들이고 실수는 최소화해야 함 |
사용자 인터페이스(UI)의 종류
| 용어 | 설명 |
| CLI | 명령어를 텍스트로 입력해 조작 (예: 터미널) |
| GUI | 그래픽 화면에서 마우스로 조작 (예: 윈도우) |
| NUI | 말이나 몸짓 같은 자연스러운 동작으로 조작 (예: 터치, 제스처) |
| VUI | 음성으로 조작 (예: AI 스피커) |
| OUI | 모든 사물이 입출력 장치가 되는 유기적 인터페이스 |
5. 디자인 패턴과 아키텍처
GoF 디자인 패턴 23가지
암기 키워드 ▸ 생성 5 · 구조 7 · 행위 11
자주 나오는 설계 문제의 해법을 23가지로 정리한 것입니다. '이 패턴은 어느 분류인가?'와 '이 설명은 어떤 패턴인가?'가 가장 많이 나와요.

생성 패턴 5개 — 추빌팩프싱 (객체를 만드는 방법)
| 패턴 | 설명 |
| Abstract Factory (추상 팩토리) | 서로 관련된 객체들을 구체적인 클래스를 지정하지 않고 한 묶음(제품군)으로 생성 |
| Builder (빌더) | 복잡한 객체를 부품 조립하듯 단계별로 나눠 생성 |
| Factory Method (팩토리 메서드) | 어떤 객체를 만들지는 서브클래스가 결정하도록 위임 (가상 생성자) |
| Prototype (프로토타입) | 원본 객체를 복제해서 새 객체를 생성 |
| Singleton (싱글톤) | 인스턴스를 딱 하나만 만들어 어디서나 공유 |
구조 패턴 7개 — 어브컴데퍼플프 (클래스·객체를 조합해 더 큰 구조 만들기)
| 패턴 | 설명 |
| Adapter (어댑터) | 맞지 않는 인터페이스를 변환해서 함께 쓸 수 있게 함 (콘센트 변환 플러그) |
| Bridge (브리지) | 기능(추상)과 구현을 분리해 각각 따로 확장 |
| Composite (컴포지트) | 객체를 트리 구조로 묶어 개별 객체와 복합 객체를 똑같이 다룸 (폴더-파일) |
| Decorator (데코레이터) | 기존 객체에 기능을 동적으로 덧붙임 |
| Facade (퍼사드) | 복잡한 서브시스템 앞에 단순한 통합 창구를 제공 |
| Flyweight (플라이웨이트) | 같은 객체를 공유해서 메모리를 아낌 |
| Proxy (프록시) | 대리 객체를 두어 실제 객체에 대한 접근을 제어 |
행위 패턴 11개 — 책커인반중메옵상전템방 (객체 사이의 책임과 상호작용)
| 패턴 | 설명 |
| Chain of Responsibility (책임 연쇄) | 요청을 처리할 수 있는 객체가 나올 때까지 다음 객체로 넘김 |
| Command (커맨드) | 요청을 객체로 감싸서 저장·취소·재실행이 가능하게 함 |
| Interpreter (인터프리터) | 언어의 문법 규칙을 클래스로 표현해 해석 |
| Iterator (반복자) | 내부 구조를 드러내지 않고 집합의 요소에 차례로 접근 |
| Mediator (중재자) | 객체끼리 직접 통신하지 않고 중재자를 거쳐 상호작용 |
| Memento (메멘토) | 객체 상태를 저장해 두었다가 이전 상태로 되돌림 (Ctrl+Z) |
| Observer (옵서버) | 한 객체의 상태가 바뀌면 구독 중인 객체들에 자동으로 알림 |
| State (상태) | 객체의 상태에 따라 행동을 바꿈 |
| Strategy (전략) | 여러 알고리즘을 각각 캡슐화해 두고 상황에 따라 바꿔 씀 |
| Template Method (템플릿 메서드) | 상위 클래스가 처리의 뼈대를 정하고, 세부 단계는 하위 클래스가 구현 |
| Visitor (방문자) | 데이터 구조는 그대로 두고, 처리 기능을 별도 클래스로 분리해 방문하며 수행 |
아키텍처 패턴
| 용어 | 설명 |
| 레이어 (계층) | 시스템을 계층으로 나누고, 바로 위아래 계층끼리만 주고받음 (예: OSI 7계층) |
| 클라이언트-서버 | 하나의 서버와 여러 클라이언트로 구성 |
| 파이프-필터 | 데이터가 파이프를 따라 필터(처리 단계)를 차례로 거침 (예: 유닉스 셸 파이프) |
| MVC | 모델(데이터·로직), 뷰(화면), 컨트롤러(입력 처리)로 분리 |
| 마스터-슬레이브 | 마스터가 일을 나눠 슬레이브에게 맡기고 결과를 모음 |
| 브로커 | 브로커가 클라이언트 요청을 알맞은 서버 컴포넌트에 연결 (분산 시스템) |
| 피어 투 피어 | 각 요소가 클라이언트이자 서버 역할을 함 (P2P 파일 공유) |
| 이벤트-버스 | 이벤트를 채널에 발행하고, 그 채널을 구독하는 리스너가 처리 |
| 블랙보드 | 공유 저장소(블랙보드)에 여러 컴포넌트가 지식을 모아 문제를 해결 (음성 인식) |
미들웨어의 종류
미들웨어는 서로 다른 시스템이나 애플리케이션 사이를 이어 주는 소프트웨어입니다.
| 용어 | 설명 |
| DB 미들웨어 | 애플리케이션과 데이터베이스 서버를 연결 (ODBC 등) |
| RPC (원격 프로시저 호출) | 멀리 있는 프로시저를 내 컴퓨터 안의 프로시저처럼 호출 |
| MOM (메시지 지향 미들웨어) | 메시지 기반의 비동기 통신. 서로 다른 시스템을 느슨하게 연결 |
| TP-Monitor (트랜잭션 처리 모니터) | 온라인 트랜잭션을 처리하고 감시 (항공 예약, 은행 업무) |
| ORB (객체 요청 브로커) | 객체 사이의 통신을 중개 (CORBA 표준) |
| WAS (웹 애플리케이션 서버) | 동적인 웹 콘텐츠를 처리 (Tomcat, JEUS 등) |
6. 헷갈리지 않게 외우는 요령
- 결합도·응집도는 두문자의 첫 글자가 가장 좋은 쪽입니다. 필요한 '자료'만 주고받는 결합, '기능' 하나로 똘똘 뭉친 응집이 최고라고 기억하면 방향이 헷갈리지 않아요.
- 디자인 패턴은 '생성 5 · 구조 7 · 행위 11'이라는 숫자부터 외우세요. 설명 문제는 영어 이름을 우리말로 옮겨 보면 대부분 풀립니다. Adapter는 변환기, Facade는 건물의 정면(창구), Observer는 관찰자, Memento는 기념품(저장해 두는 것)이에요.
- UML 관계 기호는 '마름모 = 전체와 부분(빈 마름모는 느슨하게, 채운 마름모는 운명 공동체)', '삼각형 = 상속·구현(실선이면 상속, 점선이면 인터페이스 구현)'으로 나눠 기억하세요.
7. A4 한 장 요약본
위 내용을 키워드만 남겨 A4 한 장으로 줄였습니다. 이미지를 저장해서 출력하거나 휴대폰에 넣어 두고 시험 직전에 훑어보세요.

마무리
두문자는 뜻을 모른 채 외우면 금방 잊힙니다. 키워드 → 풀어 쓰기 → 기출 한 문제 순서로 이어 두면 필기는 물론 실기 단답형까지 그대로 연결돼요. 나머지 과목 암기 총정리도 같은 형식으로 정리해 두었습니다.
※ 두문자는 수험생들 사이에서 흔히 쓰는 암기 요령이며, 표현은 수험서마다 조금씩 다를 수 있습니다. 세부 출제기준은 Q-net 공지로 최종 확인하세요.
'자격증' 카테고리의 다른 글
| 정보처리기사 3과목 데이터베이스 구축 암기 총정리 | 두문자·용어 설명·그림으로 한 번에 (0) | 2026.09.29 |
|---|---|
| 정보처리기사 2과목 소프트웨어 개발 암기 총정리 | 두문자·용어 설명·그림으로 한 번에 (0) | 2026.09.29 |
| 네트워크관리사 2급 시험 과목 총정리 | 필기 4과목·실기 출제 유형과 공부법 (2026) (0) | 2026.09.28 |
| 리눅스마스터 2급 시험 과목 총정리 | 1차·2차 출제범위, 필수 명령어와 공부법 (2026) (0) | 2026.09.28 |
| ITQ 정보기술자격 과목 총정리 | 한글·엑셀·파워포인트 출제 유형과 A등급 공부법 (2026) (0) | 2026.09.28 |
댓글