MVC(Model-View-Controller) 모델
1. 정의
- MVC(Model-View-Controller) 모델은 소프트웨어 공학에서 애플리케이션의 구조를 세 가지 역할(Model, View, Controller)로 분리하는 아키텍처 패턴이다.
- 사용자 인터페이스(UI)와 비즈니스 로직을 분리하여 유지보수성, 재사용성, 확장성을 높이는 것이 목적이다.
- GUI 기반 애플리케이션 증가로 인해 사용자 인터페이스와 내부 로직의 결합도가 높아져, 변경·확장이 어려운 문제가 발생하는 문제를 해결하기 위해 관심사 분리(Separation of Concerns, SoC) 개념이 필요하여 MVC 모델이 제안되었다.
2. MVC 모델 구조 및 구성 요소

(1) Model
- 데이터 및 비즈니스 로직 담당
- DB와 직접 연결되어 CRUD(Create, Read, Update, Delete) 수행
- 애플리케이션 상태(State)를 관리
(2) View
- 사용자 인터페이스 담당 (화면 출력)
- 모델 데이터를 사용자에게 시각적으로 표현
- 로직은 최소화하고, 출력에만 집중
(3) Controller
- 사용자의 입력(이벤트, 요청)을 처리
- 입력을 해석하여 모델을 갱신하거나 뷰를 호출
- Model ↔ View 간 중재자 역할 수행
3. 장단점
| 구분 | 내용 |
| 장점 |
|
| 단점 |
|
4. 결론
MVC 모델은 애플리케이션의 UI와 비즈니스 로직을 분리하여 소프트웨어의 품질을 향상시키는 대표적인 아키텍처 패턴으로, 현재도 다양한 웹·모바일·데스크톱 애플리케이션에서 널리 활용되고 있다.
'IT Tech.' 카테고리의 다른 글
| (소프트웨어공학) 제품계열(Product Line) 방법론 (0) | 2025.08.25 |
|---|---|
| (AI) LLM(Large Language Model) 보안 위험과 대응 방안 (3) | 2025.08.22 |
| (클라우드) XaaS (Everything as a Service) (1) | 2025.08.21 |
| (AI) MCP(Model Context Protocol) (0) | 2025.08.21 |
| (보안) 타원곡선 암호(ECC, Elliptic Curve Cryptography) (2) | 2025.08.21 |