---
description: Questions
---

# Ch1. Design Pattern & Programming paradigm











### MVC 패턴:

1. MVC 패턴이란 무엇이며, 각 구성 요소의 역할은 무엇인가요?

MVC 패턴은 Model-View-Controller 패턴의 약자로, 소프트웨어 애플리케이션을 세 가지 주요 구성 요소로 분리하는 디자인 패턴입니다. 모델(Model)은 애플리케이션의 데이터와 비즈니스 로직을 담당하고, 뷰(View)는 사용자 인터페이스를 담당하며, 컨트롤러(Controller)는 사용자 입력을 처리하고 모델과 뷰를 업데이트하는 역할을 합니다. 이 패턴은 애플리케이션의 모듈화를 통해 코드의 유지보수성과 확장성을 높입니다.

2. MVC 패턴의 장점은 무엇인가요?

* **모듈성**: 애플리케이션의 각 구성 요소가 독립적으로 변경될 수 있어 유지보수가 용이합니다.
* **재사용성**: 모델과 뷰를 분리하여 서로 다른 뷰를 사용해 동일한 모델을 재사용할 수 있습니다.
* **유연성**: 애플리케이션의 한 부분을 변경해도 다른 부분에 영향을 최소화할 수 있습니다.

3. Model, View, Controller의 역할을 각각 말씀해주세요.

모델(Model)은 애플리케이션의 데이터와 비즈니스 로직을 담당합니다. 데이터베이스와 상호 작용하고, 데이터를 조회하거나 저장하는 기능을 수행하며, 데이터 유효성 검사와 같은 비즈니스 로직도 처리합니다. 모델은 뷰와 독립적으로 작동하며, 데이터의 상태를 관리합니다.

뷰(View)는 사용자 인터페이스를 담당합니다. 모델의 데이터를 사용자에게 보여주는 역할을 하며, 사용자가 상호 작용할 수 있는 화면을 제공합니다. 뷰는 모델의 상태를 기반으로 화면을 렌더링하고, 사용자로부터 입력을 받을 수 있습니다. 뷰는 컨트롤러와 협력하여 모델의 상태를 반영합니다.

MVC 패턴에서 컨트롤러(Controller)는 사용자 입력을 처리하고, 이를 바탕으로 모델과 뷰를 업데이트하는 역할을 합니다. 사용자로부터 입력을 받아 이를 모델에 전달하고, 모델의 상태 변화를 반영하여 뷰를 업데이트합니다. 컨트롤러는 모델과 뷰 간의 흐름을 제어하는 중재자 역할을 합니다.
