short curcit?? 자바 공부하다가 이런게 있었나 싶어서 포스팅합니다.
숏서킷 연산은 논리연산자에서 알아볼 수 있습니다.
코딩을 하다보면 if( a || b) , if( a && b) 와 같은 논리연산자를 사용하게 됩니다.
먼저 a || b 부터 보겠습니다. or 연산으로 a 또는 b가 트루라면 조건문을 실행하게 됩니다.
즉 그렇다는 것은 a와 b 둘 중 하나만 true여도 된다는 것이고
a만 true라면 이미 조건문을 실행할 수 있게 되는 조건이 충족된 것이죠. 그렇기 때문에 자바에서는 숏서킷연산에 의해서 true || b라면 b의 연산을 실행하지 않습니다.
그렇다면 &&은? a와 b 모두가 true여야 합니다. 그렇다면 false && b라면? b가 true, false 무엇이든 이미 조건을 만족하지 못합니다. 즉 b의 연산을 실행하지 않습니다.
즉 숏서킷연산이란 것은 뒤에 연산을 수행하지 않아도 이미 조건을 만족했기 때문에, 연산을 생략하는 것이라고 이해하시면 편합니다.
이것을 왜 알아야 하냐면 만약 연산을 실행하지 않는 조건에서 값의 변화가 일어나는 연산일 경우에는 원하는 값에 오류가 생길 수도 있기 때문입니다!
'잡다한 개발잡담' 카테고리의 다른 글
스프링부트 - Unable to start embedded Tomcat 에러 해결하기 (0) | 2020.04.11 |
---|---|
깃허브 이해하기! (0) | 2020.04.05 |
Java class, Interface 차이 (2) | 2020.03.07 |
JAVA <-> JDBC PreparedStatement, Statement, CallableStatment 차이점! (0) | 2020.03.05 |
프로시저의 장단점 (0) | 2020.03.05 |