MVC, MVVM 아키텍처 개념 간단설명

yeseul jang·2026년 1월 7일

iOS

목록 보기
4/5

MVC/MVVM 둘 다 코드를 어떻게 나누어서 관리할 것인지에 대한 설계 약속이다.

MVC (Model - View - Controller)

구성 요소

Model

  • 데이터 + 비즈니스 로직
  • UI와 완전히 분리되어야 함

View

  • 화면에 보여주는 역할만 수행
  • UIKi의 UILable, UIButton 등
  • 데이터 가공이나 판단하는 로직은 포함되지 않음

Controller

  • View와 Model을 연결하는 중간 관리자
  • 사용자 입력 처리
  • 화면전환
  • 데이터 -> 뷰 바인딩

MVC의 흐름

사용자 터치 - Controller - Model(데이터 변경) - Controller - View 업데이트

MVC의 장단점

장점

  • UIKit의 기본 구조
  • 비교적 배우기 쉬움
  • 작은 앱에 유용함

단점

  • ViewController가 비대해짐
  • 테스트 어려움

MVVM (Model - View - ViewModel)

  • MVC의 문제를 역할 분리로 해결하기 위한 구조

구성요소

Model

  • MVC와 동일
  • 순수 데이터

View

  • UI와 사용자 입력까지 포함
  • ViewModel에게 요청만 보냄

ViewModel

  • View를 위한 데이터 가공 담당
  • View가 쓰기 좋은 형태로 변환
  • UI 로직을 여기에 포함

MVVM의 흐름

View - ViewModel - Model - ViewModel - View

MVVM의 장단점

장점

  • ViewController 가벼워짐
  • 테스트 용이
  • UI 로직 명확

단점

  • 구조가 처음에 어려움
  • 파일 수 증가
  • 바인딩 개념 필요
profile
iOS 개발

0개의 댓글