연산자
연산자는 데이터를 처리하거나 연산을 수행할 때 사용되는 기호나 키워드이다. 연산자는 하나 이상의 피연산자와 결합되어 수식을 이루며, 수식은 연산자가 적용된 결과값을 반환한다.
특히, 수식에 여러 개의 연산자가 포함되어 있을 때, 어떤 연산자를 먼저 적용하느냐에 따라 결과값이 달라질 수 있기 때문에 연산자의 우선순위는 매우 중요한 개념이다. 이는 수학에서 사칙연산을 할 때, 곱셈과 나눗셈을 덧셈과 뺄셈보다 먼저 계산하도록 정해진 규칙과 같다.
그러나 복잡한 수식의 경우, 괄호 () 를 사용하여 명시적으로 연산의 우선순위를 지정하는 것이 좋다. 이렇게 하면 코드의 가독성을 높이고, 실수를 줄일 수 있다. 따라서 연산자 우선순위를 일일이 암기하려고 하기보다는, 필요할 때 괄호를 적절히 사용하는 것이 더 효율적이다.
연산자 우선순위
연산자 | 연산 유형 | 결합 규칙 (방향) |
[] . () |
배열 접근 메소드 접근 괄호 |
→ |
++ -- |
증가 후위 감소 후위 |
→ |
++ -- + - ! ~ (type) |
증가 전위 감소 전위 양수 단항 음수 단항 논리 NOT 비트 NOT 캐스트 |
← |
new | 객체 생성 | → |
* / % |
곱하기 나누기 나머지 |
→ |
+ - |
더하기 빼기 |
→ |
>> << >>> |
비트 우측 이동 비트 좌측 이동 비트 우측 이동 (음수 보장 안함) |
→ |
< > <= >= instanceof |
비교 | → |
== != |
동등 부등 |
→ |
& | 비트 AND | → |
^ | 비트 XOR | → |
| | 비트 OR | → |
&& | 논리 AND | → |
|| | 논리 OR | → |
? : | 삼항 | ← |
= += -= *= /= %= &= |= ^= <<= >>= >>>= |
대입 | ← |
, | 콤마 | → |
표의 상단에 있을수록 우선순위가 높은 것이고, 하단에 있을수록 우선순위가 낮은 것이다. 결합 규칙은 연산자들이 계산되는 방향이라 생각하면 된다.
'Language > Java' 카테고리의 다른 글
[Java] 클래스 상속(inheritance) (0) | 2024.11.12 |
---|---|
[Java] 접근 지정자(access modifier) (0) | 2024.11.11 |
[Java] 클래스(class)와 객체(object) 선언 (0) | 2024.11.03 |
[Java] Scanner 클래스를 이용한 입력 (0) | 2024.10.29 |
[Java] 기본 자료형 크기와 범위 (0) | 2024.09.10 |