Operator(연산자)
연산을 수행하는 기호
연산자(operator) : 연산을 수행하는 기호(+,- ,*/ 등)
피연산자(operand) : 연산자의 작업 대상(변수, 상수, 리터럴, 수식)
연산자의 종류
연산자자를 크게 기능에 의한 분류와 피연산자의 개수에 의한 분류로 나눌 수 있다.
기능에 의한 분류
산술 연산자
+, -, *, /, %
숫자 값을 대상으로 산술 연산 수행
대입 연산자
=
오른쪽 피연산자의 값을 왼쪽 피연산자에 대입
증감 연산자
++, --
변수의 값을 1 증가시키거나 감소
비교 연산자
>, <, >=, <=, ==, !=
두 값을 비교하여 참(true) 또는 거짓(false)을 반환
논리 연산자
&&, ||, !
논리값(불리언)을 대상으로 논리 연산 수행
비트 연산자
&, |, ^, ~, <<, >>
정수 값을 이진수 비트 단위로 연산
기타 연산자
instanceof, (type), ?:
특정한 기능을 수행
피연산자의 개수에 의한 분류
단항 연산자
++, --, +, -, ~, !, (type)
하나의 피연산자에 대해 연산을 수행
이항 연산자
+, -, *, /, %, >, <, >=, <=, ==, !=, &&, ||, &, |, ^, <<, >>
두 개의 피연산자에 대해 연산을 수행
삼항 연산자
?:
세 개의 피연산자를 필요로 하는 연산자
연산자 우선순위와 결합규칙
연산자의 우선순위와 결합규칙은 각 연산의 우선순위와 연산이 수행되는 방향을 결정한다.
산술 > 비교 > 논리 > 대입
곱셈/나눗셈 > 덧셈/뺄셈
단항 > 이항 > 삼항
단항 연산자와 대입 연산자를 제외한 모든 연산은 왼쪽에서 오른쪽으로 수행
산술 변환
이항 연산 시 두 피연산자의 타입이 일치해야 연산이 가능하기 때문에 다른 경우에는 형변환 연산자로 타입을 일치시켜야한다.
작은 타입에서 큰 타입으로 변환: 자동으로 변환
큰 타입에서 작은 타입으로 변환: 명시적으로 형변환 필요
증감 연산자
증감 연산자는 변수의 값을 1 증가시키거나 1 감소시키는 연산자로 상수가 아닌 정수와 실수에만 가능하다.
전위형 / 후위형
전위형
연산자가 변수 앞에 위치하는 경우로 값이 참조되기 전에 증가
후위형
연산자가 변수 뒤에 위치하는 경우로 값이 참조된 후에 증가
증감 연산자가 수식이나 메서드 호출에 포함되지 않고 단독으로 사용될 경우에는 전위형과 후위형의 차이가 없으며 예시로 아래와 같다.
참고자료
Last updated
Was this helpful?