삼항 연산자를 사용하여 Java 코드 효율성 향상

삼항 연산자를 사용하여 Java 코드 효율성 향상

2022-10-19 last update

8 minutes reading java beginners tutorial programming
이 기사에서는 삼항 연산자를 사용하여 조건문 코드를 개선하는 방법을 알려 드리겠습니다. 일반적으로 조건문을 어떻게 코딩합니까? 아래 코드와 같습니까?

소스 코드 1:

public boolean isEvenNumber(int number) {
    if(number % 2 == 0) {
        return true;
    }
    else {
        return false;
    }
}


그렇다면 아래 소스 코드 2에서와 같이 삼항 연산자를 사용하여 더 좋게 만들 수 있습니다.

소스 코드 2:

public boolean isEvenNumber(int number) {
    return number % 2 == 0 ? true : false;
}


소스 코드 1과 소스 코드 2에서 생성된 출력 결과는 완전히 동일합니다. 삼항 연산자를 사용하면 결과는 같지만 코드 행 수가 훨씬 더 많은 코드를 작성할 수 있습니다. 어떻게 이런일이 일어 났습니까?


소스 코드 1과 소스 코드 2를 주의 깊게 살펴보면 두 소스 코드를 연결하는 패턴을 볼 수 있습니다. 패턴을 보기 위해 본문 소스 코드 2 메서드를 분해해 보겠습니다.
return number % 2 == 0 ? true : false;
위의 코드 조각에서 삼항 연산자를 구성하는 3가지 주요 구성 요소를 볼 수 있습니다.
  • number % 2 == 0는 조건입니다.
  • ? true는 이전 조건을 만족했을 때 나타나는 값입니다.
  • : false는 이전 조건이 충족되지 않은 경우 나타나는 값입니다.
  • return 어때요? return는 삼항 연산의 결과에 해당하는 값을 반환합니다. 여기서 return 값을 반환하지 않는 삼항 연산도 있기 때문에 실제로 선택 사항입니다. 다음 섹션에서 다른 삼항 연산의 예를 볼 것입니다.

    보시다시피 삼항 연산자의 패턴은 if 조건문과 매우 유사하지만 삼항 연산은 훨씬 짧습니다. 내 개인적인 의견은 삼항 연산자가 var = var + 1var++ 로 줄일 수 있다는 점에서 Value increment의 개념과 매우 유사하다는 것입니다. 따라서 값 증가의 개념을 사용하여 값 증가 연산을 단축할 수 있다면 삼항 연산자를 사용하여 조건문의 코딩을 단축할 수 있습니다.


    삼항 연산자를 더 잘 이해하기 위해 삼항 연산자가 코딩에서 어떻게 구현되는지 몇 가지 예를 살펴보겠습니다.

    실시예 1



    우리가 입력한 입력 숫자가 홀수인지 아닌지를 판별하는 메소드를 생성한다고 가정합니다. 일반 조건문을 사용한 구현은 소스 코드 3에서 볼 수 있으며 삼항 연산자의 구현은 소스 코드 4에서 볼 수 있습니다.

    소스 코드 3:

    public boolean isOddNumber(int number) {
        if(number % 2 != 0) {
            return true;
        }
        else {
            return false;
        }
    }
    


    소스 코드 4:

    public boolean isOddNumber(int number) {
        return number % 2 != 0 ? true : false;
    }
    


    예 2:



    예를 들어 입력 이름이 null 인 경우 입력 이름을 정규화하는 방법을 생성한다고 가정하면 "Stranger"값을 반환합니다. 일반 조건문을 사용한 구현은 소스 코드 5에서 볼 수 있으며 삼항 연산자의 구현은 소스 코드 6에서 볼 수 있습니다.

    소스 코드 5:

    public String normalizeName(String name) {
        if(name == null) {
            return "Stranger";  
        }
        else {
            return name;
        }
    }
    


    소스 코드 6:

    public String normalizeName(String name) {
        return name == null ? "Stranger" : name;
    }
    


    예 3:



    입력한 숫자를 표시하는 메서드를 생성한다고 가정하고 입력한 숫자가 null 이면 "숫자 입력이 null입니다!"라는 텍스트가 표시됩니다. 일반적인 조건문을 사용한 구현은 소스 코드 7에서 볼 수 있으며 삼항 연산자의 구현은 소스 코드 8에서 볼 수 있습니다.

    소스 코드 7:

    public void displayNumber(Integer number) {
        if(number == null) {
            System.out.println("Number input is null!");
        }
        else {
            System.out.println("Your number is " + number);
        }
    }
    


    소스 코드 8:

    public void displayNumber(Integer number) {
        System.out.println(number == null ? "Number input is null!" : "Your number is " + number);
    }
    



    이것이 삼항 연산자를 사용하여 코드를 보다 효과적으로 만드는 방법입니다. 물론 삼항 연산자로 변경하는 조건문이 ifelse 로만 구성되어 있기 때문에 이 기사에서 다루는 자료는 아직 불완전합니다. else if가 있는 삼항 연산자는 일반적으로 "연결된 삼항 연산자"또는 "다중 조건 삼항 연산자"라고 하며 이에 대해서는 다음 기사에서 설명합니다.


    표지 이미지: https://i.picsum.photos/id/882/1920/720.jpg?hmac=-m4frcxPW1QpFYu5cokcHkKkLgJMbq1kHk10I2dghcA