Dart에서 삼항 연산자 활용 완벽 가이드

2024. 6. 20. 20:48Flutter/Dart Language

반응형

Dart의 삼항 연산자는 조건에 따라 두 가지 값 중 하나를 선택하여 반환하는 강력한 도구입니다.

간결하고 명확한 코드를 작성하는 데 도움이 되며, 조건 분기 코드를 줄이고 가독성을 높일 수 있습니다.

이 블로그 게시물에서는 Dart 삼항 연산자의 사용법을 심층적으로 살펴보고, 다양한 활용 사례와 복수 삼항 연산자 사용법을 포함하여 실제 코딩 예시를 제공합니다. 또한, 삼항 연산자를 효과적으로 사용하기 위한 팁과 주의 사항을 다룹니다.

1. 삼항 연산자 기본 구조

삼항 연산자는 다음과 같은 구조로 사용됩니다.

조건식 ? 값1 : 값2;
 
  • 조건식: 참 또는 거짓으로 평가되는 표현입니다.
  • 값1: 조건식이 참인 경우 반환되는 값입니다.
  • 값2: 조건식이 거짓인 경우 반환되는 값입니다.

예를 들어, 다음 코드는 age 변수가 18보다 크거나 같으면 "성인" 문자열을, 그렇지 않으면 "미성년자" 문자열을 반환합니다.

String message = age >= 18 ? "성인" : "미성년자";
 

2. 삼항 연산자 활용 사례

다음은 Dart에서 삼항 연산자를 활용하는 몇 가지 예시입니다.

 

2.1 간단한 조건 분기

bool isStudent = true;
String studentStatus = isStudent ? "재학 중" : "졸업";
print(studentStatus); // "재학 중"을 출력합니다.
 

2.2 null 체크

String name = getUserName();
String greeting = name != null ? "안녕하세요, $name 님!" : "환영합니다!";
print(greeting); // (name이 null이 아니면 "안녕하세요, $name 님!"을, null이면 "환영합니다!"을 출력합니다.)
 

2.3 값 계산

int number = 10;
int result = number % 2 == 0 ? number ~/ 2 : number * 3;
print(result); // number가 짝수이면 number / 2를, 홀수이면 number * 3을 출력합니다.
 

2.4 문자열 연결

String city = "서울";
String country = "대한민국";
String location = city + ", " + country;
String fullLocation = location.length <= 15 ? location : city + " (" + country + ")";
print(fullLocation); // location의 길이가 15 이하이면 location을, 그렇지 않으면 city와 country를 괄호 안에 넣어 출력합니다.
 

3. 복수 삼항 연산자 사용법

Dart에서는 조건에 따라 세 가지 이상의 값 중 하나를 선택하기 위해 복수 삼항 연산자를 사용할 수 있습니다.

다음과 같은 구조로 사용됩니다.

조건식1 ? 값1 : 조건식2 ? 값2 : 값3;
 

예를 들어, 다음 코드는 학점에 따라 학점 평가 문자열을 반환합니다.

int score = 95;
String grade = score >= 90 ? "A" : score >= 80 ? "B" : score >= 70 ? "C" : "D";
print(grade); // "A"를 출력합니다.
 

4. 삼항 연산자 사용 팁

가독성 향상

  • 괄호 사용: 조건식과 값이 길거나 복잡한 경우 괄호를 사용하여 식을 명확하게 표현할 수 있습니다. 예를 들어, 다음 코드는 조건식과 값이 길어 가독성이 떨어질 수 있으므로 괄호를 사용하여 개선되었습니다.
 
 
String message = (age >= 18 && isStudent) ? "성인 학생입니다" : "미성년자 또는 일반인입니다";
 
  • 변수 사용: 길거나 복잡한 조건식이나 값을 변수에 할당하여 코드를 간결하게 만들 수 있습니다. 예를 들어, 다음 코드는 조건식이 길고 반복적으로 사용되므로 변수를 사용하여 개선되었습니다.
bool isAdult = age >= 18;
bool isStudent = isEnrolledInSchool();
String message = isAdult && isStudent ? "성인 학생입니다" : "미성년자 또는 일반인입니다";
 

5. 기타 유용한 팁

  • 다중 삼항 연산자 사용: 여러 가지 조건에 따라 값을 선택해야 하는 경우 다중 삼항 연산자를 사용할 수 있습니다. 하지만, 조건이 너무 복잡해지면 가독성이 저하될 수 있으므로 주의해야 합니다.
  • null 체크: 삼항 연산자를 사용할 때 null 값을 처리하는 방법에 주의해야 합니다. null 값 처리가 필요한 경우, null 체크를 명시적으로 수행하거나, 안전한 삼항 연산자 패턴을 사용하는 것이 좋습니다.
  • 코드 스타일 가이드 준수: 팀 내에서 코드 스타일 가이드를 정의하고 준수하여 코드 일관성을 유지하는 것이 중요합니다.
  • 테스트 코드 작성: 삼항 연산자를 사용하는 코드를 테스트 코드로 작성하여 코드의 정확성을 검증하는 것이 좋습니다.

6. 삼항 연산자 주의 사항

  • 오류 방지: 삼항 연산자를 사용할 때는 조건식과 값이 올바르게 설정되었는지 확인해야 합니다. 잘못된 조건식이나 값은 예상치 못한 결과를 초래할 수 있습니다.
  • null 처리: 삼항 연산자를 사용할 때 null 값을 처리하는 방법에 주의해야 합니다. null 값 처리가 필요한 경우, null 체크를 명시적으로 수행하거나, 안전한 삼항 연산자 패턴을 사용하는 것이 좋습니다.
  • 가독성과 일관성 유지: 코드의 가독성과 일관성을 유지하기 위해 삼항 연산자를 적절하게 사용해야 합니다. 복잡한 조건 분기의 경우 if-else 문을 사용하는 것이 더 명확할 수 있으며, 코드 스타일 가이드를 준수하는 것이 중요합니다.

7. 결론

Dart 삼항 연산자는 조건에 따라 값을 선택하는 강력하고 유용한 도구입니다.

간결하고 명확한 코드를 작성하는 데 도움이 되며, 조건 분기 코드를 줄이고 가독성을 높일 수 있습니다.

하지만, 복잡한 조건 분기의 경우 삼항 연산자보다는 if-else 문을 사용하는 것이 더 적합할 수 있으며, 삼항 연산자를 사용할 때는 오류 방지, null 처리, 가독성 유지 등에 주의해야 합니다.

삼항 연산자를 효과적으로 활용하면 더욱 생산적이고 효율적인 Dart 프로그래밍이 가능할 것입니다.

 

 

수발가족을 위한 일기장 “나비일기장”

 

https://play.google.com/store/apps/details?id=com.maccrey.navi_diary_release

 

구글플레이 앱 배포의 시작! 비공개테스트 20명의 테스터모집을 위한 앱 "테스터 쉐어"

 

https://play.google.com/store/apps/details?id=com.maccrey.tester_share_release

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

카카오톡 오픈 채팅방

https://open.kakao.com/o/gsS8Jbzg

반응형