🤔 삼항연산자란 과연 뭘까요?
저는 이름에서부터 항이 3개 있는 연산자라는 느낌이 강하게 듭니다.
아니나 다를까 세 개의 피연산자를 필요로 하는 연산자를 말한다고 정의가 적혀있습니다.(이것이 자바다 p100)
삼항연산자를 쓸 때 필요한 재료는 총 5가지입니다.
🙄 삼항연산자는 왜 필요할까요? 도대체 왜 쓰는걸까요?
제 생각에는 코드를 줄이려고 하는 노력에서부터 삼항연산자가 탄생한 것 같습니다.
저는 보통 글을 읽을 때 구구절절 긴 글 보다는 짧은 글을 더 선호합니다. 그리고 그런 글이 눈에 더 잘 들어옵니다. (그런데 제 글은 왜 이렇게 길어질까요..)
코드도 마찬가지이지 않을까 싶습니다. 긴 코드를 짧게 줄일 수 있다면, 줄여서 사용하는 것이 조금 더 효율적이지 않을까요?
👀 지금부터 같은 코드를 if문과 삼항연산자로 비교해보겠습니다.
public static void main(String[] args) {
int age = 20;
int cost = 0;
if (age <= 12) {
cost = 450;
} else if (age > 12 && age <= 18) {
cost = 720;
} else { // 성인은
cost = 1200; // 버스요금 1200원
}
System.out.println(age + "살에 내실 요금은 " + cost + "원 입니다");
}
↑위 코드↑는 연령에 따른 버스요금을 나타내주는 프로그램을 if문으로 표현한 것 입니다.
현재 연령은 20으로 적어놨기 때문에 버스비로 1200원을 지불해야합니다.
public static void main(String[] args) {
int age = 20;
int cost = (age <= 12 ? 450 : (age > 18) ? 720 : 1200);
System.out.println(age + "살에 내실 요금은 " + cost + "원 입니다");
}
↑위↑가 삼항연산자로 줄인 코드입니다.
정말 간결해지지 않았나요?
삼항연산자는 보통 if문의 단축형태로 많이 쓰입니다.
한 줄에 간단한 내용을 넣어서 사용할 경우에는 if문보다는 삼항연산자가 조금 더 효율적이겠죠?