C# 을 처음 배울 때, 다음과 같은 형태의 코드를 자주 접하게 됩니다:
bool isEven = (number % 2 == 0) ? true : false;
처음에는 조건식의 결과를 true 또는 false로 나누어 대입하는 이 방식이 자연스럽고 익숙할 수 있습니다.
삼항 연산자 (조건 ? A : B) 는 간단한 분기 처리를 할 때 자주 사용되는 문법이기도 합니다.
하지만 위 코드는 다음과 같이 훨씬 더 간단하게 쓸 수 있습니다.
bool isEven = (number % 2 == 0);
조건식을 그대로 대입해도 되는 이유
조건식 (number % 2 == 0) 자체가 bool 값을 반환하기 때문에, 별도의 분기 처리 없이도 결과를 바로 bool 변수에 대입할 수 있습니다.
다시 말해, 조건이 참이면 true, 거짓이면 false가 되므로, 삼항 연산자는 사실상 불필요한 장식일 뿐입니다.
예시 비교
// 불필요하게 복잡한 방식
bool isAdult = (age >= 18) ? true : false;
// 더 깔끔하고 직관적인 방식
bool isAdult = (age >= 18);
언제 이렇게 쓰면 좋을까?
* if 나 삼항 연산자 없이 bool 변수로 조건을 저장하고 싶을 때.
* 코드 가독성을 높이고 싶을 때.
* 변수 이름만으로 의미가 충분히 전달될 때 (ex. isActive, isDead 등)
마무리
조건식의 결과는 본질적으로 true 또는 false입니다. 굳이 ? true : false 처럼 풀지 않아도, 조건식을 그대로 대입하면 같은 효과를 훨씬 간결하게 얻을 수 있습니다.
이제 삼항 연산자를 습관처럼 쓰고 있다면, 한 번쯤 코드를 다시 바라보세요. 때로는 줄이는 것이 더 명확합니다.
'C#' 카테고리의 다른 글
대리자를 이용한 FSM 만들기 (0) | 2025.04.24 |
---|---|
delegate 를 더 간결하게 선언하는 방법 (0) | 2025.04.23 |
구조체를 배열로 만들면 메모리 저장 위치는 어디일까? (0) | 2025.04.22 |
int.TryParse() 와 Convert.ToInt32() 중 어떤 걸 써야하나? 고민된다면 (0) | 2025.04.02 |
C# 에서 ref, out, in 키워드 정리 (0) | 2025.04.02 |