연습 - 값 증분 및 감소
이 모듈에서 마지막으로 배울 기본 연산은 기호 조합인 특수 연산자를 사용하여 값을 늘리고 줄이는 방법입니다.
증가 및 감소
특히 데이터 구조와 상호 작용하는 반복 논리 또는 코드를 작성할 때 값을 증분 및/또는 감소시켜야 하는 경우가 많습니다.
+=
연산자는 연산자 오른쪽의 값을 더하고 연산자 왼쪽의 값에 할당합니다. 따라서 다음 코드 조각에서 두 번째 줄과 세 번째 줄은 동일합니다.
int value = 0; // value is now 0.
value = value + 5; // value is now 5.
value += 5; // value is now 10.
++
연산자는 변수 값을 1씩 증분합니다. 따라서 다음 코드 조각에서 두 번째 줄과 세 번째 줄은 동일합니다.
int value = 0; // value is now 0.
value = value + 1; // value is now 1.
value++; // value is now 2.
이 동일한 기술을 빼기, 곱하기 등에 사용할 수 있습니다. 다음 연습 단계에서는 몇 가지 방법을 강조해서 설명합니다.
참고
+=
, -=
, *=
, ++
, --
등의 연산자는 결과를 변수에 할당할 뿐 아니라 일부 연산을 구성하기 때문에 ‘복합 대입 연산자’라고 합니다. +=
연산자를 구체적으로 ‘더하기 대입’ 연산자라고 합니다.
값을 증분 및 감소시키는 코드 작성
.NET 편집기에서 모든 코드를 선택한 다음, Delete 또는 Backspace 키를 눌러 삭제합니다.
.NET 편집기에 다음 코드를 입력합니다.
int value = 1; value = value + 1; Console.WriteLine("First increment: " + value); value += 1; Console.WriteLine("Second increment: " + value); value++; Console.WriteLine("Third increment: " + value); value = value - 1; Console.WriteLine("First decrement: " + value); value -= 1; Console.WriteLine("Second decrement: " + value); value--; Console.WriteLine("Third decrement: " + value);
코드를 실행합니다. 다음 출력이 표시됩니다.
First increment: 2 Second increment: 3 Third increment: 4 First decrement: 3 Second decrement: 2 Third decrement: 1
참고
“두 번째 증분”에서 value += 1;
을 사용했습니다. 그러나 리터럴 int
값(또는 변수)을 사용하여 값 크기를 증분시킬 수 있었습니다. “second decrement”: value -= 1;
의 경우도 마찬가지입니다.
증분 및 감소 연산자 위치 지정
증분 및 감소 연산자는 흥미로운 특성이 있습니다. 둘 다 위치에 따라 해당 값을 검색하기 전이나 이후에 연산을 수행합니다. 즉, ++value
와 같이 값 앞에 연산자를 사용하면 값이 검색되기 ‘전에’ 값을 늘립니다. 마찬가지로, value++
는 값이 검색된 후에 값을 늘립니다.
값 앞과 뒤에 증분 연산자를 사용합니다.
이전 단계의 코드를 삭제하고 .NET 편집기에 다음 코드를 입력합니다.
int value = 1; value++; Console.WriteLine("First: " + value); Console.WriteLine($"Second: {value++}"); Console.WriteLine("Third: " + value); Console.WriteLine("Fourth: " + (++value));
코드를 실행합니다. 다음 출력이 표시됩니다.
First: 2 Second: 2 Third: 3 Fourth: 4
다음 코드 줄을 확인합니다.
Console.WriteLine($"Second: {value++}");
이 줄은 두 가지 단계로 이루어져 있습니다.
value
변수의 현재 값을 검색하고 해당 값을 문자열 보간 연산에 사용합니다.- 값을 늘립니다.
다음 코드 줄에서 실제로 값이 증가했음을 확인합니다.
Console.WriteLine("Third: " + value);
반대로, 다음 마지막 코드 줄을 생각해 봅시다.
Console.WriteLine("Fourth: " + (++value));
여기서는 ++
연산자가 value
피연산자 앞에 있으므로 연산 순서가 바뀝니다.
- 값을 늘립니다.
value
변수의 증가한 새 값을 검색하고 해당 값을 문자열 연산에 사용합니다.
꼭 필요하지는 않지만, 읽기 쉽도록 (++value)
식 주위에 괄호를 추가했습니다. +
연산자를 연속해서 너무 많이 사용하면 다른 개발자가 잘못 해석할 수도 있습니다. 이러한 스타일 결정은 주관적입니다. 그러나 코드를 한 번 작성해서 여러 번 읽기 때문에 가독성을 우선적으로 고려해야 합니다.
요약
지금까지 C#의 수학 연산에 대해 알아본 내용은 다음과 같습니다.
+=
,-=
,*=
,++
,--
등의 복합 대입 연산자를 사용하여 증가 또는 감소와 같은 수학 연산을 수행하고 그 결과를 원래 변수에 할당합니다.- 증가 및 감소 연산자는 연산자가 피연산자 앞 또는 뒤에 있는지에 따라 다르게 수행됩니다.