사용자 - Controller - Model - Controller - View - 사용자

Model은 Controller와 View에 의존하지 않아야 한다.
(Model내부에 Controller와 View 관련 코드가 있으면 안된다.)
View는 Model에만 의존, Controller에는 x
(View 내부에 Model의 코드만 있을 수 있음)
View가 Model로부터 데이터를 받을 때에는, 사용자마다 다르게 보여주어야 하는 데이터에 대해서만 받아야 한다.
View가 Model로부터 데이터를 받을 때, 반드시 Controller에서 받아야 한다.
Controller는 Model과 View에 의존 가능
// Controller, View 관련코드 없음
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public class OutputView {
public void printProfile(Student student) {
System.out.println(
"내 이름은" + student.getName() + "입니다.");
}
}

public calss Controller {
public static void main(String[] args) {
Student student = new Student("기철", 25);
OutputView.printProfile(student);
}
}