[JAVA] 논리 연산자

논리 연산자의 역할

논리 연산자는 자바 프로그램에서 조건식을 평가하고, 여러 조건을 조합하여 논리적인 판단을 내릴 때 사용되는 도구입니다. 논리 연산자를 사용하여 여러 조건이 참 또는 거짓인지를 결합하여 더 복잡한 조건을 만들 수 있습니다.

 

주요 논리 연산자

1. AND( && ) : 두 조건 모두 참일 때 결과가 참이 됩니다.

2. OR( || ) : 두 조건 중 하나 이상이 참일 때 결과가 참이 됩니다.

3. NOT( ! ) : 조건의 결과를 반대로 변경합니다.

 

논리 연산자 예제

public class Example {
    public static void main(String[] args) {
        int age = 18;
        boolean isStudent = true;
        
        // AND 연산자 사용
        boolean adultAndStudent = (age >= 18) && isStudent;
        
        // OR 연산자 사용
        boolean adultOrStudent = (age >= 18) || isStudent;
        
        // NOT 연산자 사용
        boolean notAdult = !(age >= 18);
        
        System.out.println("adultAndStudent: " + adultAndStudent);
        System.out.println("adultOrStudent: " + adultOrStudent);
        System.out.println("notAdult: " + notAdult);
    }
}

 

쇼트서킷의 개념

쇼트서킷은 논리 연산에서 조건을 평가하다가 첫 번째 조건만으로 최종 결과를 판단할 수 있을 때, 뒤의 조건은 평가하지 않고 건너뛰는 원리입니다.

 

AND와 OR의 쇼트서킷

1. AND( && ) : 첫 번째 조건이 거짓일 경우 뒤의 조건을 평가하지 않습니다. 두 개의 조건이 모두 참이어야 전체 조건식이 참이 되기 때문에 첫 번째 조건만으로 결과가 거짓이라면 이미 전체 결과도 거짓이 됩니다.

2. OR( || ) : 첫 번째 조건이 참일 경우 뒤의 조건을 평가하지 않습니다. 두 개의 조건 중 하나만 참이면 전체 조건식이 참이 되기 때문에 첫 번째 조건만으로 결과가 참이라면 이미 전체 결과도 참이 됩니다.

 

쇼트서킷의 장점

1. 효율적인 연산 : 필요한 부분만 연산하므로 불필요한 연산을 줄여 프로그램의 실행 속도를 향상시킵니다.

2. 안전한 평가 : 조건식에서 뒤의 조건을 평가하지 않기 때문에 런타임 오류가 발생할 수 있는 부분을 피할 수 있습니다.

 

쇼트서킷 예제

public class Example {
    public static void main(String[] args) {
        int age = 17;
        boolean isStudent = true;
        
        // AND 연산자가 OR 연산자보다 우선 순위가 높아서 괄호처리
        if ((age <= 18 || age >= 60) && isStudent) {
            System.out.println("자격 조건 TRUE");
        } else {
            System.out.println("자격 조건 FALSE");
        }
    }
}