Java에서 조건문 선택: `if` 두 번 vs `else if`

YuJun Oh·2024년 11월 13일
0

Java 코드를 작성할 때 특정 조건을 처리하기 위해 if 두 번 쓰기와 else if를 선택해야 하는 경우가 있습니다. 두 방식의 차이점과 장단점을 예제와 함께 살펴보고, 어떤 상황에서 더 적절한지 알아보겠습니다.

예제 상황

사용자가 선택한 요일에 따라 서로 다른 메시지를 출력하는 프로그램을 작성한다고 가정해 봅시다. 사용자 입력에 따라 주말과 주중을 구분하여 다른 메시지를 출력하는데, 이를 ifelse if로 처리할 수 있습니다.

public void printDayMessage(String day) {
    if ("Saturday".equals(day) || "Sunday".equals(day)) {
        System.out.println("It's the weekend! Enjoy your time off.");
    } else if ("Monday".equals(day) || "Tuesday".equals(day) || "Wednesday".equals(day) ||
               "Thursday".equals(day) || "Friday".equals(day)) {
        System.out.println("It's a weekday. Let's be productive!");
    }
}

if 두 번 쓰기 vs else if 선택

위의 코드는 else if를 사용해 주말과 주중을 구분합니다. 그렇다면 if 두 번을 쓰는 방식과 else if 중 어떤 것이 더 적절할까요? 하나씩 살펴보겠습니다.

else if를 사용하는 것이 좋은 이유

  1. 가독성
    else if를 사용하면 두 조건이 서로 배타적임을 명확히 나타낼 수 있습니다. 주말과 주중은 겹치지 않는 개념이므로, else if로 처리하면 논리적 흐름이 더 분명해집니다.

  2. 코드 효율성
    첫 번째 조건이 참일 때 두 번째 조건을 검사하지 않기 때문에 약간의 성능 향상이 있습니다. 특히 조건이 복잡하거나 계산 비용이 높은 경우 else if를 통해 불필요한 연산을 피할 수 있습니다.

  3. 의도 표현
    else if를 사용하면 두 조건이 상호 배타적이라는 의도가 더 명확히 전달됩니다. 이는 코드 유지보수 측면에서도 협업하는 개발자들이 논리적 흐름을 쉽게 이해할 수 있도록 돕습니다.

if 두 번 쓰는 것이 더 적합한 경우

만약 두 조건이 독립적이거나, 조건들이 상호 배타적이지 않다면 if 두 번을 쓰는 것이 적절할 수 있습니다. 예를 들어, 다음과 같은 경우입니다.

public void checkConditions(boolean conditionA, boolean conditionB) {
    if (conditionA) {
        System.out.println("Condition A is true.");
    }
    if (conditionB) {
        System.out.println("Condition B is true.");
    }
}

위 코드에서 conditionAconditionB는 서로 독립적입니다. if 두 번을 사용하는 것이 이 경우 더 직관적이고 논리적 흐름이 잘 전달됩니다.

최종 코드

else if를 사용해 주말과 주중을 구분하는 최종 코드는 다음과 같습니다.

public void printDayMessage(String day) {
    if ("Saturday".equals(day) || "Sunday".equals(day)) {
        System.out.println("It's the weekend! Enjoy your time off.");
    } else if ("Monday".equals(day) || "Tuesday".equals(day) || "Wednesday".equals(day) ||
               "Thursday".equals(day) || "Friday".equals(day)) {
        System.out.println("It's a weekday. Let's be productive!");
    }
}

결론

  • 상호 배타적 조건에는 else if를 사용하는 것이 가독성, 코드 효율성, 의도 표현 측면에서 유리합니다.
  • 독립적 조건에는 if 두 번을 사용하는 것이 더 명확합니다.

이처럼 조건문을 상황에 맞게 선택하면 코드의 가독성과 효율성을 높일 수 있습니다.

0개의 댓글

관련 채용 정보