삼항 연산자란?
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 조건문을 사용하여 여러 줄로 작성하는 것이 좋습니다.
'개발언어 > JAVA' 카테고리의 다른 글
[JAVA] Map - getOrDefault 이란? 사용법 및 예제 (2) | 2020.11.27 |
---|---|
[JAVA] 문자열 붙이는 방법 총정리(concat, StringBuilder, StringBuffer, + ) (0) | 2020.10.15 |
[JAVA] 자바 스윙( Swing ) / JFileChooser 예제 (0) | 2020.10.05 |
[JAVA] 자바 POI 를 이용하여 엑셀 파일 읽기/ POI 라이브러리 사용법 (0) | 2020.10.03 |
[JAVA] 자바 POI 를 이용하여 엑셀 파일 만들기/ POI 라이브러리 사용법 (0) | 2020.10.02 |
댓글