본문 바로가기
개발언어/JAVA

[JAVA] 삼항연산자이란? 사용법 & 예제

by 코딩 시그널 2020. 10. 6.
반응형

삼항 연산자란?

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 조건문을 사용하여 여러 줄로 작성하는 것이 좋습니다.

 

 

댓글