-
[Unity]유니티 입문하기 5-4(C# 기초개념 - 연산자 심화)프로그래밍 2023. 7. 27. 23:24
이전 글에서는, 형변환과 배열을 통해 변수에 대해서 더 잘 이해하는 시간을 가졌습니다.
이번엔, 저번에 간단하게만 짚고 넘어갔던 연산자들을 살펴보며 각각이 어떤 역할을 하는지, 어떻게 사용하는 건지 알아보도록 합시다.
산술 연산자
산술연산자는 두 수를 더하거나 빼는 등의 산술적인 연산을 담당하는 연산자입니다.
자주 쓰이는 연산자로는 +(더하기), -(빼기), *(곱하기), /(나누기)의 사칙연산, 나머지를 구하는 %(나머지 연산자), 그리고 주어진 변수에서 1씩 더하거나 빼는 ++와 --(증감연산자)가 있습니다.
int a = 1; int b = 2; int c = a + b; //1+2=3, ∴c=3 int d = b - a; //2-1=1, ∴d=1 int e = a * b; //1×2=2, ∴e=2 int f = b / a; //2÷1=2, ∴f=2 int g = a % b; //1÷2=0‥1, ∴g=1 int h = 0; //h=0; h = h++; //0+1=1, ∴h=1 h = h--; //1-1=0, ∴h=0방금 배운 산술연산자들의 간단한 사용례입니다.
대입연산자
대입연산자는 오른쪽의 피연산자의 값을 왼쪽에 대입하는 연산자입니다.
저번 글에서 연산자에 대해 다룰 땐 대입 연산자의 예시로 =(등호)밖에 다루지 않았습니다.
하지만, 대입 연산자는 산술 연산자와 결합해 +=, -=, *=, /=와 같이 사용할 수도 있습니다.
int a = 3; int b; b = a; // b=3 b += 3; // b = b + 3과 똑같음; b=3+3=6 b -= 3; // b = b - 3과 똑같음; b=6-3=3 b *= 3; // b = b * 3과 똑같음; b=3×3=9 b /= 3; // b = b / 3과 똑같음; b=9÷3=3위 예시와 같이, 산술연산자와 결합된 대입연산자는 왼쪽 피연산자에 오른쪽 피연산자를 연산한 값을 대입합니다.
=는 오른쪽 피연산자의 값을 그대로 왼쪽 피연산자에 대입하는 연산자이지, 양쪽 피연산자가 같음을 의미하는 것이 아님에 주의하세요.
논리연산자
논리연산자는 수를 연산하는 연산자가 아닙니다.
자료형에 대해서 배울 때, 논리형 변수에 대해서 배웠던 걸 기억하시나요?
논리형 자료형 bool은 ture(참)과 false(거짓)을 담을 수 있는 자료형이었습니다.
논리 연산자는 이러한 논리형 변수를 다루는 연산자입니다.
수를 연산하는 가장 기본적인 연산이 사칙연산인 것처럼, 논리 연산에서 가장 기본적인 연산은 AND, OR, NOT의 3가지가 있습니다.
AND연산은 두 피연산자가 모두 참일 때만 참을 반환하고, 그 이외에는 전부 거짓을 반환하는 연산입니다.
OR연산은 반대로 두 피연산자 중 하나만이 참이어도 참을 반환하는 연산입니다.
NOT연산은 피연산자를 하나만 받고, 참이 들어오면 거짓을, 거짓이 들어오면 참을 반환하는 연산입니다.
AND 결과 OR 결과 true AND ture true true OR true true true AND false false true OR false true false AND true false false OR true true false AND false false false OR false false AND와 OR 연산에 대해 알기 쉽게 표로 정리하면 위와 같습니다.
물론 프로그래밍을 할 때에도 위와 같은 논리 연산을 해야 하는 경우가 있죠.
이를 위해 위의 연산들을 연산자의 형태로 만들어 둔 것이 논리 연산자입이며, 각각 &&(AND), ||(OR),!(NOT)와 같이 표현합니다. (혹시 모르실 분들을 위해 말씀드리자면, | 기호는 ₩와 Shift키를 함께 누르면 입력되는 키입니다.)
다만 &와 | 또한 AND와 OR 연산으로 작동하는데요, &&와 &(그리고 ||와 |)의 차이점은 연산량의 차이입니다.
&&연산자의 경우, 먼저 첫 번째 피연산자를 확인합니다. 그리고 해당 피연산자의 값이 거짓이라면, 두번째 피연산자를 확인하지 않고 바로 거짓을 반환합니다.
||연산자도 마찬가지로 첫번째 피연산자의 값이 참이라면 두번째 피연산자를 확인하지 않고 바로 참을 반환하죠.
하지만 &연산자와 |연산자는 첫번째 피연산자의 값과 상관없이, 무조건 두 피연산자를 모두 확인한 뒤 결과값을 반환합니다.
기본적으로는 &와 |연산자의 경우 필요 없는 연산과정을 한번 더 거치는 셈이 되므로, 보통은 &&연산자와 ||연산자를 이용합니다.
true && false //false true || false //true !true //false논리 연산자는 이렇게 사용하면 됩니다.
비교연산자
비교 연산자는 연산자를 사이에 둔 두 피연산자의 값을 비교해 참 또는 거짓을 반환하는 연산자입니다.
기호 역할 == 왼쪽 피연산자와 오른쪽 피연산자가 같음 != 왼쪽 피연산자와 오른쪽 피연산자가 다름 < 왼쪽 피연산자가 오른쪽 피연산자보다 작음 > 왼쪽 피연산자가 오른쪽 피연산자보다 큼 <= 왼쪽 피연산자가 오른쪽 피연산자보다 작거나 같음 >= 왼쪽 피연산자가 오른쪽 피연산자보다 크거나 같음 조금 전에 대입 연산자 부분에서 =연산자는 양쪽 피연산자가 같음을 의미하는 연산자가 아니라고 했었는데, 여기에 해당 역할을 하는 연산자 ==가 있음을 확인할 수 있습니다. 두 연산자를 헷갈리지 않도록 주의합시다.
1 == 1 //true 1 != 1 //false 2 < 2 //false 3 > 2 //true 2 >= 2 //true 3 >= 2 //true비교 연산자는 위와 같이 사용합니다.
'프로그래밍' 카테고리의 다른 글
[Unity]유니티 입문하기 6-1(오브젝트 활성화/비활성화, 위치 조정) (0) 2023.08.01 [Unity]유니티 입문하기 5-5(C# 기초개념 - 제어문) (0) 2023.07.28 [Unity]유니티 입문하기 5-3(C# 기초개념 - 형변환, 배열) (0) 2023.07.27 [Unity]유니티 입문하기 5-2 (C# 기초개념 - 변수, 자료형) (0) 2023.07.24 [Unity]유니티 입문하기 5-1(C# 기초개념 - 토큰) (0) 2023.07.23