김영한 자바 입문편 “연산자” 강의에서 중요하거나 새롭게 깨달은 것들만 간단하게 정리하자.
연산자
자주 사용하는 연산자
- 산술 연산자:
+
,-
,*
,/
,%
- 증감 연산자:
++
,--
- 비교 연산자:
==
,!=
,>
,<
,>=
,<=
- 논리 연산자:
&&
,||
,!
- 대입 연산자:
=
,-=
,+=
,/=
,%=
- 삼항 연산자:
? :
- 객체 타입 확인 연산자:
instanceof
- 그 외 :
new
,[] (배열 인덱스)
,. (객체 멤버 접근)
,() (메소드 호출)
실무에서 거의 사용할 일이 없는 연산자
- 비트 연산자:
&
,|
,^
,~
,<<
,>>
,>>>
연산자 우선순위
연산자가 많은 수식에는 괄호를 명시적으로 사용하는 것이 더 명확하고 이해하기 쉽다.
1 |
|
위 두 개의 간단한 수식을 비교해볼 때 확실히 괄호가 포함된 것이 더 이해하기 쉽다.
코드를 몇자 줄여서 모호하거나 복잡해 지는 것 보다는 코드가 더 많더라도 명확하고 단순한 것이 더 유지보수 하기 좋다.
대부분의 개발자들은 연산자 우선순위를 외우지 않을 것이다.(나 또한.. 외우지 않는다.)
연산자 우선순위를 외우지 말고 아래 두 가지만 생각하자.
- 상식선에서 우선순위를 결정하자.
- 애매하면 괄호
()
를 사용하자.
개발에서 가장 중요한 것은 단숨함과 명확함이다. 애매하거나 복잡하면 안된다.
문자열 비교
문자열이 같은지 비교할 때는 ==
이 아니라 .equals()
메서드를 사용해야 한다. ==
를 사용하면 성공할 때도 있지만 실패할 때도 있다.
1 |
|
문자열 리터럴 값 비교시에는 ==
으로도 괜찮지만, 문자열 객체를 비교할 때는 예상치 못 한 결과가 나오게 된다. 각각 다른 객체를 가리키고 있기 때문이다.
✅
equals()
를 사용하면 문자열의 실제 내용을 비교하여 일치 여부를 확인할 수 있으므로, 예상치 못한 결과나 버그를 방지하고 정확한 비교를 할 수 있다.