스위치-케이스문 - switch-case
스위치-케이스문 - switch-case
1. 일반적인 switch 문
- switch(value) 에서 value의 값이 case의 값과 맞을 때 진행된다.
- break를 안만나면 아래의 구문들도 전부 실행된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
private final char ratings;//변수
//ratings의 값이 A 일 경우 break 를 만나는 D 케이스문까지 전부 실행된다.
private String getGift2() {
String response = "";
switch(this.ratings) {
case 'A' : response+="놀이공원이용권,";
case 'B' : response+="피자,";
case 'C' : response+="치킨,";
case 'D' : response+="떡볶이"; break;
default : response ="꿍밤";
};
return response;
}
switch 문에는 {
byte,short,int,char,String} 만 가능하다.
2. 화살표(->)를 사용한 switch 문
->를 사용한 switch 문은:를 사용한 switch 문과 다르게
반환 값이 생기고 break를 사용하지 않는다.
1
2
3
4
5
6
7
8
9
10
11
12
private final List<String> giftList = List.of(
"놀이공원이용권","치킨","피자","아이스크림"
);
private String getGift() {//-> 이용시 반환값이 생기고 break 없이 그값이 반환된다.
return switch(this.ratings) {
case 'A' -> String.join(",", giftList);
case 'B' -> String.join(",", giftList.subList(1, giftList.size()));
case 'C' -> String.join(",", giftList.subList(2, giftList.size()));
case 'D' -> String.join(",", giftList.subList(3, giftList.size()));
default -> "꿀밤3대";
};
}
- List 생성하는법 차이점
List를 생성할때는Arrays.asList("str","str","str")과List.of("str","str","str")의 방법이 있다.
| 구분 | Arrays.asList | List.of |
|---|---|---|
| Java 버전 | Java 1.2 이상 사용 가능 | Java 9 이상 사용 가능 |
| 불변성 | 고정 크기 리스트 (요소 변경(set)은 가능하지만, 추가/삭제 불가) | 완전 불변 리스트 (요소 변경, 추가, 삭제 모두 불가) |
| null 허용 여부 | null 요소 허용 | null 요소 미허용 (null 포함 시 NullPointerException 발생) |
| 내부 구현 | 배열을 기반으로 하며 원본 배열과 연결되어 있음 | 최적화된 불변 리스트로 독립적으로 관리됨 |
요즘 Java 개발에서는 불변(immutable) List를 선호하는 추세입니다. Java 9 이상부터 제공되는 List.of()를 사용하면 코드가 간결해지고, null 값에 대한 안전성도 보장되므로 많이 사용되고 있습니다. 와 같이 생성하면, 수정이 불가능한 리스트를 간단하게 만들 수 있습니다. 만약 리스트를 변경해야 한다면, List
이와 관련된 최신 트렌드와 모범 사례에 대해서는 여러 기술 블로그와 공식 문서를 참고할 수 있는데, 불변성을 통한 안정성과 코드 가독성이 주요 장점으로 부각되고 있습니다.
이 작성글은 저작권자의 CC BY 4.0 라이센스를 따릅니다.


