yooniiverse
개발 블로그
yooniiverse
전체 방문자
오늘
어제
  • 분류 전체보기
    • 운영체제
    • 네트워크
    • ~2023.02
      • 외부교육
      • 대외활동
      • 스터디
      • 동아리
      • TIL
      • IT지식
      • 기타
      • 트러블 슈팅
      • 프로그래밍
      • Python
      • Java
      • JS
      • DB(SQL)
      • JSP
      • Spring
      • 기술면접
      • 자바
      • 코딩테스트
      • 자료구조
      • 알고리즘
      • 백준 문제풀이
      • 인공지능
      • 머신러닝
      • 프로젝트
      • 안드로이드 앱개발
      • 웹개발
      • 웹 서비스
      • 웹퍼블리싱
      • Node.js 백엔드 개발
      • CS
      • 1일 1CS지식
      • 운영체제
      • 네트워크
      • 데이터베이스
      • 정보처리기사
      • 도서 리뷰
      • 개발 관련 도서
      • 기타 도서

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
yooniiverse

개발 블로그

~2023.02/외부교육

[JAVA] MVC 패턴

2022. 3. 20. 17:29
  • 지금까지는 한가지 목적에 맞춰서 한 개의 클래스에 모든 것들을 만들었다.
  • 하지만 이제부터는 한가지 목적을 위해 여러 종류의 클래스를 사용하게 된다.
  • 예를 들어 게시판 프로그램의 경우에는 "회원기능"이라는 측면과 "게시판"이라는 측면 두가지 분야로 나뉘고 거기에 맞춰 여러가지 클래스를 준비해주어야 한다.
  • 만약 여러 분야가 있는 프로그램을 하나의 클래스 안에 모두 다 적을 경우, 한 분야의 유지보수를 하려면 그 전체 프로그램을 모두 다 뜯어 봐야 할 것이다.
  • 또한 이렇게 통째로 만들어진 프로그램은 코드의 재사용성 측면에서 매우 부족한 모습을 보인다.
  • 만약 목적에 맞추어 클래스를 나누면 특정 분야의 클래스들만 다른 곳에서 재사용하는 것도 가능하다.

 

  • 객체지향의 5가지 원칙
    • SOLID
    • S : Single Responsibility Principle. 단일 책임 원칙.
    • O : Open-Closed Principle. 개방-폐쇄 원칙.
    • L : Liskov Substitution Principle. 리스코프 치환 원칙.
    • I : Interface Segregation Principle. 인터페이스 분리 원칙.
    • D : Dependency Inversion Principle. 의존성 역전 원칙.
  • 여기서 우리가 반드시 신경을 써야하는 것은 바로 단일 책임 원칙이다.
  • 단일 책임 원칙은 하나의 클래스는 하나의 책임만 지고 있어야 한다는 의미를 가지고 있다.
  • 만약 단일 책임 원칙이 제대로 지켜진다면, 게시판이라는 목적을 위해 데이터타입, 데이터 제어, 데이터 출력을 각각 담당하는 3개의 클래스가 필요해진다.

 

  • 단일 책임 원칙을 지키기 위한 프로그래밍 방법론 중에 MVC 패턴이라는 것이 있다.
  • MVC 패턴이란 한가지 목적을 위해 클래스를 모델, 뷰어, 컨트롤러 3가지로 나누어 개발하는 방법론이다.
    • 모델 : 데이터타입을 담당
    • 뷰어 : 화면 출력을 담당
    • 컨트롤러 : 데이터 제어를 담당

'~2023.02 > 외부교육' 카테고리의 다른 글

[JAVA] 콜렉션(Collection)  (0) 2022.03.19
[JAVA] 객체(Object) & 캡슐화(Encapsulation)  (0) 2022.03.19
[JAVA] 배열의 동적 할당(Dynamic Allocation)  (0) 2022.03.16
[JAVA] Call By Valeue(값에 의한 호출) & Call By Reference(참조에 의한 호출)  (0) 2022.03.15
[JAVA] 메서드(Method)  (0) 2022.03.12
    '~2023.02/외부교육' 카테고리의 다른 글
    • [JAVA] 콜렉션(Collection)
    • [JAVA] 객체(Object) & 캡슐화(Encapsulation)
    • [JAVA] 배열의 동적 할당(Dynamic Allocation)
    • [JAVA] Call By Valeue(값에 의한 호출) & Call By Reference(참조에 의한 호출)
    yooniiverse
    yooniiverse

    티스토리툴바