자바를 더 활용성있게 써보자. - Foreach,삼항 연산자, enum
최근에 팀프로젝트나 헤커톤을 나가면서 열심히 자바를 활용할 기회가 많았는데, 간단한 식을 변수명이 길어지면서 코드가 난잡해지기도 하고 좀 더 가독성이 좋거나 혹은 좀 더 중복을 제거할 방법이 없을까 고민하면서 이것저것 많이 찾아냈다. 그래서 정리겸사 적어본다.
어떤 기술들이 있으려나..?
내가 오늘 정리할 것들은 총 4가지 정도로 1. Foreach 2. 삼항 연산자 3. Enum 4. lambda이다.
1. Foreach
Foreach문은 for문의 여러가지 조건들을 축약해서 줄일 수있다는게 장점입니다. 물론 세부적인 조절이 안되는 게 단점.
for(int i =0; i<n; i++){
.....
}
//이걸 Foreach를 사용하면 이렇게 된다.
int [] array = {1,2,3,4};
for(int index : array){
....
}
foreach는 배열을 넣고 배열안에 있는 요소를 꺼내서 쓰는 것입니다. 즉, array속의 요소들을 한개씩 사용하는 것.
그것이 index에 저장되고, 그 인덱스를 사용하면됩니다.
2. 삼항 연산자
삼항 연산자 역시 If else문을 통해서 길어진 코드를 확 줄일 수 있습니다.
int k = 0;
if (a>b){
k = 1;
}
else{
k=2;
}
/// 삼항 연산자로 바꾸면 이렇게 된다.
int k (a>b) ? 1:2; //만족하면 1(앞)이.. 만족하지 못하면 2(뒤)가 나온다.
쭉 한줄로 사용할 수 있기때문에, 쉽게 사용할 수 있다.
3. Enum
이 Enum문은 상수형 클래스로 사용되며, 잘 변화되지 않는 값들을 아예 속성화 시켜서 저장합니다.
public enum Food {
APPLE("사과"),BANANA("바나나"), GRAPE("포도"),RICE("쌀");
private String name;
Food(String name) {
this.name=name;
}
public String getName() {
return name;
}
}
Food.APPLE.getName() => "사과"
Food.BANANA => BANANA
이건 특정 상수형을 지정할때 표현하기도 몹시 쉽고, 그 안에 메소드를 넣어서 그 값을 튀어 나오게 할 수도 있습니다.
번외- Lambda
람다는 무명함수라고도 부르고, 함수에 이름을 붙히지 않고 사용해서 함수로써 작동하게끔하는 것입니다.
즉, 함수의 생성과정을 간략하게 하여 쉽게 쓸수 있게 합니다.
람다를 활용하기가 조금 까다롭다는 점인데요. 무조건 interface를 사용해야하고 그 무명함수를 정의하기위해서 @FunctionalInterface를 붙혀주고... 기타등등 한번 작동시키기위해서 꽤나 애를 써봤지만, 잘은 안되네요.
람다에 대해서 당장 제가 활용할 수 없으므로, 이것에 대해서 나중에 설명드리도록 하겠습니다.
'Java' 카테고리의 다른 글
Slack App Directory를 활용하여 Webhook보다 퀄 좋은 메세지 발송하기 (0) | 2024.05.12 |
---|---|
클린 코드 - 1. 객체 지향 생활 체조 (0) | 2024.03.31 |
Deprecated 잘쓰는 법 (0) | 2023.09.02 |
JWT Expired 시간이 토큰 발급시간보다 이전 시간인 경우 (2) | 2022.08.18 |
Java String + 연산은 정말 빠른가? (0) | 2021.11.21 |