
각 계층마다 맡은 역할이 있고 서로 침범해서는 안된다.
고객은 점원만 알고 있다.
점원은 고객에게 응답만 할 수 있다.
(== 점원은 고객을 모른다)
요리사는 점원에게 응답만 할 수 있다.
(== 요리사는 점원을 모른다.)
Client: Controller만 알고 있다.
점원은 요리사만 알고있다.
Controller: Service만 알고있다.
break 꼭 써야함
case 마다 중괄호, break 써야함
값을 반환할 수 없음
String grade = "A";
int score;
switch (grade) {
case "A":
score = 90;
break;
case "B":
score = 80;
break;
case "C":
score = 70;
break;
default:
score = 0;
}
```
Java 12~14에 switch를 개선한 기능이 도입됨
-> 사용
값 반환 가능
case를 한 줄로 묶을 수 있음
String grade = "A";
int score = switch (grade) {
case "A" -> 90;
case "B" -> 80;
case "C" -> 70;
default -> 0;
};
System.out.println(score);
// ========================================
String day = "SAT";
String result = switch (day) {
case "MON", "TUE", "WED", "THU", "FRI" -> "평일";
case "SAT", "SUN" -> "주말";
default -> "잘못된 입력";
};
// ========================================
System.out.println(result);
int num = 2;
String result = switch (num) {
case 1 -> "One";
case 2 -> {
System.out.println("Two selected!");
yield "Two"; // 값을 반환하는 키워드
}
default -> "Other";
};
// result 변수에 "Two"가 들어감
마지막에 yeild는 switch 포현식 case 내부에서 쓸 수 있으며,
해당 case 결과값을 switch 포현식으로 반환한다.
switch 내부에서만 쓰는 return같은 것