MVC란?
Model, View, Controller의 합성어로 소프트웨어 공학에서 상용되는 소프트웨어 디자인패턴.
애플리케이션을 세가지의 역할로 구분한 개발 방법론.
** 디자인 패턴
: 프로그램 개발에서 자주 나타나는 문제를 해결하기 위한 방법 중 하나로, 개발 과정 중 발견된 설계의 노하우를 재사용하기 좋은 형태로 특정 규약을 묶어서 정리한 것.
Model
- 애플리케이션의 정보/데이터를 나타내며, 백그라운드에서 동작하는 로직을 처리한다.
View
- 사용자가 보게 될 결과 화면을 출력한다.
- 데이터를 기반으로 사용자들에게 보여주는 화면을 나타낸다.
Controller
- 데이터와 사용자 인터페이스 요소를 컨트롤 한다.
- 사용자가 접근한 URL에 따라서 사용자의 요청을 파악한 후, 그 요청에 맞는 데이터를 Model에 보내고, 그 데이터를 View에 반영해서 사용자에게 알려준다.

Web과 MVC
mvc의 개념을 웹에 적용해보자!
- 사용자가 웹사이트에 접속한다.
- Controller는 사용자가 요청한 웹페이지를 서비스 하기 위해서 모델을 호출한다.
- Model은 데이터베이스나 파일과 같은 데이터 소스를 제어한 후에 그 결과를 리턴한다.
- Controller는 Model이 리턴한 결과를 View에 반영한다.
- 데이터가 반영된 View는 사용자에게 보여진다.
정리하자면!
Model 은 무엇을 할지 정의한다.
-비즈니스 로직에서의 알고리즘, 데이터 등의 기능을 처리한다.
Controller 는 어떻게 할지를 정의한다.
-요청을 받아서 Model과 View를 연결시켜주는 역할을 한다.
View 는 무엇을 화면으로 보여주는 역할을 한다.
-웹이라면 웹페이지, 모바일이라면 어플의 화면의 보여지는 부분이다.
📚Reference