[기술사토픽] SOLID 원칙 & 설계 패턴 완벽 정리 - 한장정리
SOLID 5원칙 정의와 위반 사례, 응집도·결합도 단계, GoF 디자인 패턴 23가지 분류까지 정보관리기술사·컴퓨터시스템응용기술사 빈출 주제를 완벽 정리합니다.
Ⅰ.좋은 소프트웨어 설계의 원칙, SOLID의 개요
개념: SOLID는 Robert C. Martin(Uncle Bob)이 정립한 객체지향 설계의 5가지 핵심 원칙으로, 유지보수성·확장성·재사용성이 높은 소프트웨어를 만들기 위한 설계 지침입니다.
목표: 높은 응집도(High Cohesion) + 낮은 결합도(Low Coupling) 달성 → 변경에 강한 유연한 설계
Single · Open-Closed · Liskov · Interface · Dependency — 앞글자를 따서 SOLID
Ⅱ.응집도 & 결합도 — 모듈 설계의 핵심 척도
좋은 설계 = 높은 응집도 + 낮은 결합도. 응집도는 모듈 내부 요소들의 연관성, 결합도는 모듈 간 의존성의 강도를 의미합니다.
응집도 순서: 기·순·통·절·시·논·우 (기능→순차→통신→절차→시간→논리→우연) 암기 필수!
Ⅲ.GoF 디자인 패턴 23가지 분류
GoF(Gang of Four)는 Gamma, Helm, Johnson, Vlissides 4인이 정립한 23가지 디자인 패턴입니다. 생성·구조·행위 3가지로 분류됩니다.
생성 5개 · 구조 7개 · 행위 11개 = 총 23가지 암기. 기출은 Singleton, Observer, Strategy, Facade, Factory 위주로 출제.
Ⅳ.결론 및 전문가 의견
SOLID 원칙과 GoF 패턴은 객체지향 설계의 핵심 지식으로, 유지보수성과 확장성을 높이는 실전 도구입니다.
향후 마이크로서비스 아키텍처, 클린 아키텍처, DDD(도메인 주도 설계)와 결합되어 현대 소프트웨어 설계의 근간으로 발전하고 있습니다.
"SOLID는 코드를 '변경하기 쉽게' 만드는 원칙이고, GoF 패턴은 검증된 '설계 어휘'다. 둘을 함께 이해해야 진정한 객체지향 설계가 가능하다."
블로그: 기술사 학습노트 · imt-log.tistory.com
'소프트웨어공학' 카테고리의 다른 글
| DevOps CI/CD 형상관리 개념 정리 (0) | 2026.03.19 |
|---|---|
| 소프트웨어 테스팅 기법과 전략 총정리 (0) | 2026.03.19 |
| 애자일 스크럼 개념과 실무 적용 정리 (0) | 2026.03.18 |
| SDLC 소프트웨어 개발 생명주기 총정리 (0) | 2026.03.18 |
| 소프트웨어공학 완전정복 — 기술사 핵심 토픽 모음 (0) | 2026.03.18 |