삼항 연산자
삼항 연산자란 3개의 피연산자를 필요로 하는 연산자이다.
삼항 연산자의 문법은 간단하다. true/false를 판단할 수 있는 변수 또는 조건식을 적성한 후 ? 다음에는 연산 결과인 true 또는 false에 실행되는 표현식을 각각 작성하면 된다. 즉 조건 식의 연산 결과가 true일 결루 결과는 피연산자2이고, 조건식의 연산 결과가 false이면 결과는 피연산자3이 된다. 이때 반환값에는 값뿐만 아니라 수식, 함수 호출 등 여러 가지 형태의 명령문이 올 수 있다.
다음은 조건식이 true인 경우 int A라는 변수에 10이 담기고, false인 경우에는 A에 30이 담기는 예제이다.
// if 문
int A = 0;
if(1 > 3){
A = 10;
}else{
A = 30;
}
// 결과 A = 30;
// 삼항 연산자
int A = (1 > 3) ? 10 : 30;
// 결과 A = 30;
같은 로직을 if 문과 삼항 연산자를 이용해서 작성하였다. if문을 사용할 경우 6줄의 소스를 작성해야 하는데 삼항 연산자를 이용하면 1줄로 작성 할 수 있다. 삼항연산자를 여러 행으로 나누고 그 앞에 공백을 사용하면 긴 if / else 문을 매우 깔끔하게 만들 수 있다. 이것은 동일한 로직을 표현하지만 소스 코드의 가독성을 높일 수 있다.
var func1 = function( .. ) {
if (condition1) {
return value1
} else if (condition2) {
return value2
} else if (condition3) {
return value3
} else {
return value4
}
}
//삼항연산자
var func2 = function( .. ) {
return condition1 ? value1
: condition2 ? value2
: condition3 ? value3
: value4
}
주의 사항
삼항연산자를 사용 시 코드를 좀 더 간결하게 작성할 수 있는 장점을 가지고 있다. 하지만 코드가 짧다고 해서 if 문에 비해서 속도가 빠르지 않다. 또한 축약된 형식이기 때문에 잘못 사용할 경우에는 소스코드의 가독성을 해치기도 한다. 특히 한 줄에 조건식과 결과 값들이 모두 모여있으므로 줄 단위 디버깅을 할 때 상당히 불편하다. 따라서 가독성을 해치지 않으면서 코드가 간결해지는 경우에만 삼항 연산자를 써야 한다. 대부분의 경우에는 if 조건문을 사용하여 여러 줄로 작성하는 것이 좋다.
'Language > Java' 카테고리의 다른 글
[Java] 논리 연산자 (&&, ||, &, |, ^, !) (0) | 2022.07.20 |
---|---|
[Java] 조건문 2 (0) | 2022.07.19 |
[Java] switch-case문 (0) | 2022.07.19 |
[Java] 삼항 연산자 중첩 사용 (0) | 2022.07.19 |
[Java] 조건문 1 (0) | 2022.07.19 |