AND, OR 연산 순서를 활용

목표


단락회로 평가에 대해 알아본다.

단락회로 평가란?


조건식에서 AND를 이용할 때 && 연산자를 사용한다. 이때

false&&true

는 왼쪽 피연산자 false를 먼저 계산하게 된다. 그런데 &&의 한쪽 피연산자가 false일 경우 결과는 항상 false가 되므로, 오른쪽의 피연산자(여기서는 true)를 계산할 필요 없이 값을 왼쪽 피연산자인 false로 반환하게 된다. 또한,

true&&true

의 경우는 좌측 피연산자가 true이므로 우측 피연산자의 논리가 반환값이 된다.

즉, 단락회로 평가에 의해 &&연산은 좌측 피연산자의 true/false에 따라 좌측 값을 반환할지, 우측 값을 반환할지 결정하게 된다.

마찬가지로 OR 연산자인 ||를 이용할 때,

true||false

를 연산할 경우 false를 볼 필요없이 왼쪽의 true 연산자에 의해 왼쪽 피연산자를 반환하게 된다.

false||false

의 경우 오른쪽 피연산자를 반환한다.

즉, 단락회로 평가는 AND, OR 등의 논리연산자에서 먼저 계산한 피연산자의 논리값에 의해 두 피연산자 중 하나의 값을 그대로 반환하는 것을 의미한다.