겨울이 다가오면서 날씨가 추워지네요. 온도에 따라서 0도를 기준으로 얼음이 얼고, 얼지 않고를 판단할 수 있죠? 이런 경우에 조건문을 사용하면 쉽게 나타낼 수 있습니다.
단순 if 조건문은 단순하게 if 조건에 해당하는 명령 코드만 실행시키는 가장 기본적인 조건문입니다. 조건에 해당하지 않으면 실행되지 않죠.
void main() {
int temp = -2;
if (temp < 0)
print('얼음이 어는 온도');
print(temp);
}
>> 얼음이 어는 온도
>> -2
if else 조건문은 단순 if 조건문에다가 조건에 해당하지 않으면 실행시킬 코드를 함께 작성합니다. if 조건에 해당하지 않으면 else에 해당하는 코드를 실행시킵니다.
void main() {
int temp = 2;
if (temp > 0)
print('얼음이 얼지 않는 온도');
else
print('얼음이 어는 온도');
}
>> 얼음이 얼지 않는 온도
이때, 조건에 해당되는 실행코드가 여러개라면 중괄호{ }로 묶어주셔야 합니다. 그렇지 않다면 묶지 않아도 됩니다.
num temp = 2;
if (temp > 0) {
print('얼음이 얼지 않는 온도');
temp++;
} else {
print('얼음이 어는 온도');
temp--;
}
print(temp);
}
>> 얼음이 얼지 않는 온도
>> 3
예시로 어는점말고, 성적이라면 어떨까요??
아래와 같은 성적표가 있다고 하겠습니다.
성적 기준 점수 성적 95점 이상 A+ 90점 이상 A0 85점 이상 B+ 80점 이상 B0 나머지 C0 조건 4개를 동시에 나타내는 방법은 if / else if / else를 사용하면 됩니다.
void main() {
int myPoint = 91;
if (myPoint >= 95)
print('A+');
else if (myPoint >= 90 && myPoint < 95)
print('A0');
else if (myPoint >= 85 && myPoint < 90)
print('B+');
else if (myPoint >= 80 && myPoint < 85)
print('B0');
else
print('C0');
}
>> A0
함수를 작성할 때, 여러개의 if / else 문으로 복잡하게 짜여진 코드는 가독성을 떨어뜨립니다. 예를 들어보겠습니다.
void main() {
int number = 10;
some_func(number);
}
some_func(int number) {
if (number > 100)
print('너무 숫자가 큼');
else {
if (number is String)
print('문자는 해당 안됨');
else {
if (number % 2 == 0)
print('짝수는 해당 안됨');
else {
print('홀수입니다');
print(number);
}
}
}
}
>> 짝수는 해당 안됨
이런 조잡한 예시 형식이 아니라 무식하게 복잡한 코드일겁니다.
그리고 코드를 작성하다보면 실제로 무의식적으로 이런식의 코드를 작성할 수도 있습니다. 이렇게 작성하기보단 아래처럼 작성하는 것이 깔끔해집니다.
void main() {
int number = 10;
some_func(number);
}
some_func(int number) {
if (number > 100) {
print('너무 숫자가 큼');
return;
}
if (number is String) {
print('문자는 해당 안됨');
return;
}
if (number % 2 == 0) {
print('짝수는 해당 안됨');
return;
}
print('홀수입니다.');
print(number);
}
>> 짝수는 해당 안됨
동일한 결과를 얻을 수 있을지라도 팀원과의 협업을 위해서는 가독성이 뛰어난 코드를 작성하는 것이 좋습니다.