• 캡슐화(Encapsulation) : 객체의 상세한 내용을 객체 외부에 감추고 메시지를 통하여 다른 객체와 상호작용한다. 구현부가 변경되어도 변경의 영향을 최소화할 수 있다. 정보 은닉(Information Hiding)이라고도 한다.
  • MVC
  • 어플리케이션 개발 모델 유형
  • 개념 : 구현하려는 전체 어플리케이션을 Model(모델), View(뷰), Controller(컨트롤러)로 구분하여 사용자가 인터페이스와 비즈니스 로직을 상호 분리하여 개발하는 구조이다.
  • MS 워드와 같은 워드프로세서 어플리케이션의 경우, 화면에 보이는 내용을 담당하는 구성요소가 '뷰'에 해당하며, 사용자로부터 메뉴를 통하여 명령을 전달 받아 처리하는 구성요소가 '컨트롤러', 컴퓨터 내부에서 파일을 가지고 편집을 실행하는 워드프로세서 내부 구성요소가 '모델'에 해당된다.
  • 모델은 자신의 상태가 바뀔 때마다 컨트롤러와 뷰에게 알려준다. 모델의 상태 변화 통보에 따라 뷰는 최신 결과를 보여주며 컨트롤러는 적절한 명령을 추가하거나 변경한다.
  • 뷰(View)는 모델로부터 정보를 얻어 와서 사용자에게 출력물을 보여준다.
  • 컨트롤러는 모델과 뷰에게 명령을 보낼 수 있다. 모델에 명령을 보내면 모델의 상태가 바뀐다. 뷰에 명령을 보내면 모델에 의한 뷰 표시 방법을 변경할 수 있다.
  • MVC 구조는 GUI(그래픽 사용자 인터페이스)를 사용하는 어플리케이션 개발 모델에서 많이 사용하며, 사용자 인터페이스와 비즈니스 논리를 상호 독립적으로 구성요소를 변경할 수 있는 장점을 제공한다.

+ Recent posts