2020. 6. 23. 16:48ㆍ잡다한 게시물/Q&A
게시글에 오타가 있어서.. ㅠ
더욱 헷갈리게 했습니다 죄송해요.
* int b 가 아닌 string b입니다.
?: (삼항 연산자) 란?
*본문 책 p128 쪽에 조건 연산자에 대한 자세한 설명이 나와있습니다.
간단하게 설명하면
조건 문에 따른 특정 연산자를 선택할 수 있게 해 줍니다.
기존 연산자에 비해 피연산자가 세 개나 돼서
조금 헷갈릴 수 있는 연산자입니다.
언제나 그렇듯 글보단 시각적인 그림이 이해가 더 잘 되기 때문에!
그림을 그려서 설명을 하겠습니다.
string b에는
a == 0? "가나다" : "ABC"
를 비교해서 나온 결과가 들어가게 됩니다.
순서를 보면
1 . a == 0?
a가 0인가요? 를 묻습니다.
결과는 참, 거짓으로 나눠지겠죠.
2. 그렇게 나온 참, 거짓으로 뒤에 오는 피연산자의 값을 '선택'하게 됩니다.
'참' 일 경우는 처음 오는 피연산자인 "가나다"
'거짓' 일경우는 두 번째로 오는 피연산자인 "ABC"
정리하면
결국 a는 0이 아니므로 false(거짓)
false(거짓)이므로 뒤에 오는 "ABC"를 선택하게 됩니다.
if문이 있는데 ?:(삼항 연산자)가 굳이 필요한 이유가 뭐예요?
: 코드를 더욱 간결하게 해주는 이점이 있습니다!
예시를 한번 볼까요?
짝수인지 판별하는 간단한 코드입니다.
number를 2로 나누었을 때 나머지가 0이 '나오면' 짝수
number를 2로 나누었을 때 나머지가 0이 '아니면' 홀수
이 if else 문으로 된 코드를?: (삼항 연산자)로 만들면
단 1줄로 구분이 가능하죠.
여러 이점이 있지만
어떤 조건을 통해 둘 중 하나만 선택해!
라는 코드가 주어진다면 좀 더 간결하게 코딩을 할 수 있게 됩니다.
이해가 조금 되셨나요!
도움이 됐으면 좋겠네요 :)
질문을 좋아합니다! 모르는 건 마음껏 질문해 주세요.
ps. 혹시 처음 배우는 프로그래밍 언어가 c# 이면
if문을 아직 안배웠을 수도 있겠네요.
만약 if문을 모르시면 책 뒷부분에서 배우시고
다시 한번 글을 읽어보면 좋을 거 같네요.