Java - MVC 패턴이란?

Gloomy·2024년 3월 27일
0

최근 Java의 필요성을 절실히 느껴서 공부하던 와중에 MVC패턴이라는 것에 대해서 알게 되었다. 지난 글인 변수 명명 규칙에 대해 처음 들었을때도 생각했지만, 나는 프로그래밍이라는 것에 대해서 아예 무지했구나, 라는 생각이 들었다.

후술할 모든 내용은 이 동영상을 기반으로 한다. (우아한테크코스의 제리님이 설명하신 영상이다.)

MVC패턴은 프로그래밍을 하는 하나의 방법론이라고 할 수 있는데, MVC는 프로그램의 유지보수를 위해서 생긴 패턴이다. 즉, 유지보수가 편해지는 코드 구성 방식이라고 할 수 있다.

코드를 Model, View, Controller 세 가지로 나누어서 작성하는 것을 뜻하는데, 단순히 나누어서 작성하는 것이 아니라 여기에는 기본적인 동작 원리와 몇 가지 규칙이 존재한다.

사용자는 Controller를 통해 정보를 요청하고, Controller는 사용자가 요청한 정보를 Model에게 요청한다. ModelController에게 정보를 전달하게 되면 ControllerView에게 해당 정보를 전달한다. 그리고 View는 전달받은 정보를 사용자가 확인할 수 있는 UI에 넣어서 웹 페이지를 통해 사용자에게 보여주는 역할을 한다. 즉, 각각의 역할이 명확하다.

이렇게 역할을 나눠서 프로그래밍을 진행하게 되면, 프로그램 상에서 오류가 발생했을 때, 어떤 부분에서 발생했는지 명확하게 파악할 수 있고 해당 부분의 오류를 수정하기 위해서 다른 부분을 건드릴 필요 없이 해당 부분만 수정하면 된다는 장점이 있다.

참고한 테코톡 영상에서 설명하는 MVC패턴의 규칙은 다음과 같다.

  1. ModelControllerView에 의존하지 않아야 한다. 즉, Model내부에 ControllerView에 관련된 코드가 있으면 안 된다.

  2. ViewModel에만 의존해야 하고 Controller에는 의존하면 안 된다. 즉, View 내부에는 Model의 코드만 있을 수 있고 Controller의 코드가 있으면 안 된다.

  3. ViewModel로부터 데이터를 받을 때는, 사용자마다 다르게 보여주어야 하는 데이터에 대해서만 받아야 한다.

  4. Controller 내부에는 ModelView에 의존해도 된다. 즉, Controller 내부에는 ModelView의 코드가 있을 수 있다.

  5. ViewModel로부터 데이터를 받을 때, 반드시 Controller에서 받아야 한다.

지금은 아직 Java에 익숙해지는 중이지만, MVC패턴 자체는 프로그래밍 언어에 상관없이 후에 프로그래밍을 하면서 익숙해져야 할 패턴이라고 생각한다.

profile
𝙋𝙤𝙨𝙨𝙤 𝙁𝙖𝙧𝙚!

0개의 댓글