Programming Language/Java

Swing MVC(Model-View-Controller)

c4fiber 2017. 11. 29. 09:30

팀프로젝트를 진행하면서 Swing으로 개발을 해보았는데 DefaultListModel 예제를 찾아보다가 MVC 개념에 대해 알게되어 글을 작성한다.

MVC pattern 라고 하는데 개발자가 UI를 구성할 때 제시하는 모델 중 하나이다.


  • Model that represents the data for the application.
  • View that is the visual representation of that data.
  • Controller that takes user input on the view and translates that to changes in the model.

Model : 어플리케이션을 위한 데이터를 대표함. 데이터를 저장, 보관하며 View 혹은 Controller의 정보를 가지지 않으며 간섭또한 하지 않는다.


View : 데이터의 시각적인 표현. 모델이 가진 정보를 보관하거나 저장하지 않는다. 데이터를 화면에 표시해주는 역할만 하며 데이터를 보관하지 않는다.


Controller : 뷰에서 사용자의 입력를 받고 변환하여 모델을 변경함. 모델과 뷰에 대한 정보를 가지고 있으며 각각의 변경(Event)을 서로에게 통지한다.


결국은 객체지형처럼 각각 독립적으로 존재시키며 그 중간에서 Controller가 관리 및 중간다리 역할을 해주는 것이다.