제목은 자바의 삼항연산자라고 적었지만.
이 삼항연산자는 언어 불문하고 자주 쓰이는 코드다.
삼항연산자를 쓰는 이유는 딱 하나이다. 어렵지 않은 알고리즘의 다수줄의 코드를
가독성 좋게 한 두줄로 바꿔줄 수 있기 때문이다.
아래의 예시를 보자.
if(a>b){ result = 111; }else{ result = 222; }
어렵지 않은 코드이다. a가 클시 result에는 111이 들어가고 b가 클시, result에는 222가 들어간다.
문제가 뭐냐면... 귀찮다 분명 어렵지 않은 알고리즘이지만,
다른 코드들이랑 쓰다보면 눈에 안들어 올 것이다.
위코드를 아래와 같이 바꿀 수 있다.
result = (a>b)?111:222;
이런식으로 쓴다. result의 값은 위 위의 코드와 동일하게 들어간다.
변수 = (참이나 거짓이나오는 부울린) ? (참일경우 들어가는 값 ) : (거짓일 경우 들어가는 값);
위의 경우는 int형 변수 result를 썻지만. 좀더 응용하면 여러 변수들을 상황에 맞게 쓸 수 있다.
예를들어, 자바의 JFrame 에서 visible을 컨트롤 한다고 생각해보자.
frame.setVisble((frame.isVisible())?false:true);
이해가 가는가? 삼항연산자의 리턴값을 변수에 넣지 않고 바로 setVisible안에 넣은것이다.
따라서 저 코드는 visible 이 트루 일때는 frame을 안보이게하고.
visible이 거짓 일때는 frame 을 다시보이게 하는 코드라 할 수 있겠다.
'Java' 카테고리의 다른 글
JAVA Static이란? (2) | 2016.03.29 |
---|---|
자바 enum 열거형 (0) | 2016.01.27 |
JAVA - 익명클래스(Anonymous class)란? (3) | 2016.01.20 |
JAVA의 생성자 (2) (2) | 2015.11.17 |
JAVA의 생성자 (1) (0) | 2015.11.12 |
포스팅이 도움 되셨다면, 커피 한잔 후원해주세요!
더 좋은 포스팅 작성에 큰 힘이 됩니다.