대입 연산자(Assignment Operator)
대입 연산자를 변수에 값을 대입할 때 사용하는 연산자입니다. 연산은 기본적으로 오른쪽에서 왼쪽으로 결합하게 되며, 대입을 할 때 이전에 배운 산술 연산자를 결합한 대입 연산자를 활용하기도 합니다.
지금 모든 대입 연산자를 알아봤자 나중에 어차피 까먹기 때문에 중요하고, 자주 활용할 수 있는 연산자부터 알아보도록 하겠습니다.
대입 연산자의 종류
대입 연산자 | 설명 | 예시 |
= | 오른쪽의 값을 왼쪽에 대입합니다. | a = a + 1; |
+= | 오른쪽의 값을 더해주면서 왼쪽에 대입합니다. | a += 1; |
-= | 오른쪽의 값을 빼주면서 왼쪽에 대입합니다. | a -= 1; |
*= | 오른쪽의 값을 곱해주면서 왼쪽에 대입합니다. | a *= 2; |
/= | 오른쪽의 값을 나누면서 왼쪽에 대입합니다. | a /= 2; |
%= | 오른쪽의 값을 나눈 후 나머지는 왼쪽에 대입합니다. | a %= 2; |
그 외 여러가지 대입 연산자가 있으나 활용성 부분에서 많이 활용하지 않으며 웹개발자 등을 할 경우 평생 사용하지 않는 경우도 있으니, 이정도만 외우셔도 큰 문제는 없을 것입니다. 참고로 연산과 동시에 대입하는 대입 연산자의 경우 복합 대입 연산자라 하기도 합니다.
그럼 위 내용을 코드로 보면서 이해를 해보도록 하겠습니다.
대입 연산자 예시
public class Main {
public static void main(String args[]) throws IOException {
int a = 3;
a = a + 1;
System.out.println(a);
a += 1;
System.out.println(a);
a -= 1;
System.out.println(a);
a *= 2;
System.out.println(a);
a /= 2;
System.out.println(a);
a %= 2;
System.out.println(a);
}
}
a의 값을 3으로 초기화를 시킨 후, 각각의 대입 연산자를 실행해보았습니다.
예시 정답
4
5
4
8
4
0
위 예시를 순서대로 풀어보도록 하겠습니다.
- a = a + 1;은 a = 3 + 1;이 되며, 이를 왼쪽 a의 값에 대입을 하니 첫번째 출력은 4가 됩니다.
- a가 4인 상황에서 a+=1은 1의 값을 a에 대입하라는 의미이니 5가 됩니다.
- a가 5인 상황에서 a-=1은 1의 값을 a에 빼라는 의미이니 다시 4가 됩니다.
- a가 4인 상황에서 a*=2는 2의 값을 a에 곱하라는 의미이니 8이 됩니다.
- a가 8인 상황에서 a/=2는 2의 값으로 a를 나누라는 의미이니 4가 됩니다.
- a가 4인 상황에서 a%=2는 2의 값으로 나눈 후, 나머지를 a에 대입하라는 의미이니 0이 됩니다.
즉 위의 내용은 다음과 코드와 동일합니다.
public class Main {
public static void main(String args[]) throws IOException {
int a = 3;
a = a + 1;
System.out.println(a);
a = a + 1;
System.out.println(a);
a = a - 1;
System.out.println(a);
a = a * 2;
System.out.println(a);
a = a / 2;
System.out.println(a);
a = a % 2;
System.out.println(a);
}
}
산술 연산과 결합된 대입 연산자의 경우 변수를 숨기면서 공식을 축약을 한 것 뿐입니다. 복합 연산자를 사용하면 식이 간결해 질 순 있지만, 오히려 코드를 읽기가 더 힘들어질 수 있는 단점도 있습니다.
반응형
'Lecture > Java 강의' 카테고리의 다른 글
[Java] 자바 101 강의 - #6 (비교 연산자) (0) | 2022.04.11 |
---|---|
[Java] 자바 101 강의 - #5 (증감 연산자) (0) | 2022.03.28 |
[Java] 자바 101 강의 - #3 (산술연산자, 산술연산 우선순위) (0) | 2022.03.23 |
[Java] 자바 101 강의 - #2 (변수와 기본 자료형) (0) | 2022.03.22 |
[Java] 자바 101 강의 - #1 ( JDK, IDE 설치 및 세팅 ) (0) | 2022.03.18 |