유니티 프로그래밍 기초중에서 변수의 조작과 로직의 구현에 있어서 필수적으로 알아야 할 부분입니다. 이번 포스트에서는 연산자에 대해서 알아보겠습니다.
1. 산술 연산자
산술 연산자는 간단하게 계산에 쓰이는 사칙연산을 의미합니다.
기본적인 사칙연산인 +(덧셈), -(뺄셈), *(곱셈), /(나눗셈. 분수형식으로 기입)에 더해 %(나머지)를 나타냅니다.
x = 5 + 3; // x = 8
x = 5 – 3; // x = 2
x = 5 * 3; // x = 15
x = 5 / 3; // x = 1 (5를 3으로 나눠서 몫이 1. x의 자료형이 int면 1, float면 1.6666666666666667)
x = 5 % 3; // x = 2 (5를 3으로 나눈뒤에 남는 나머지 2)
2. 할당 연산자
할당 연산자는 변수에 값을 할당하는데 사용되는 연산자를 말합니다. x = 3 이라고 했을시 x에 3을 할당하는 것을 말합니다.
기본적인 =를 포함해서 산술연산자에 “=”를 추가하는 형태로 쓰입니다. +=, -=, *=, /=, %=가 있으며 연산을 한 값을 변수에 할당하는 방식으로 사용합니다.
x = 5; // 현재 x값에 5를 x에 할당함. 그냥 현재 x에 5라는 값을 덮어 씌움.
x += 5; // 현재 x값에 5를 더한 후 그 값을 x에 덮어 씌움.
x -= 5; // 현재 x값에 5를 뺀 후 그 값을 x에 덮어 씌움.
x *= 5; // 현재 x값에 5를 곱한 후 그 값을 x에 덮어 씌움.
x /= 5; // 현재 x값에 5를 나눈 후 그 값을 x에 덮어 씌움.
x %= 5; // 현재 x값에 5를 나눈 후 나머지 값을 x에 덮어 씌움.
3. 비교 연산자
비교 연산자는 둘 이상의 값을 비교하는 연산자로 비교한 결과 값을 true와 false로 반환합니다.
>, <, >=, <=, ==(같음), !=(같지 않음)이 있습니다. 이 연산자들을 통해 나온 true와 false를 조건문으로 주로 사용하고 변수에 할당하거나 함수의 인자로 사용하기도 합니다.
x = 3+5 > 20; // false
if(5!=20){실행로직} // true이므로 실행로직 실행
4. 논리 연산자
논리 연산자는 각종 조건들을 비교하여 반환하는 true와 false들 사이에서 논리적인 연산을 수행할 때 쓰입니다.
&&(AND), ||(OR), !(NOT) 3종류가 있습니다. AND는 양쪽 조건 모두 참인 경우, OR은 양쪽 조건중 하나라도 참인 경우 true를 반환하며, NOT은 true와 false를 서로 반대로 반환합니다. 조건문에서 실행로직 이전에 사용됩니다.
if(3>5 && 5==5){실행로직} // 3>5는 false고 5==5는 true입니다.
AND연산자는 전부 true가 아니면 false를 반환합니다. false이므로 실행로직을 실행하지 않습니다.
if(!isAlive){실행로직} // isAlive의 true, false값을 반전해서 반환합니다.
isAlive가 false였었다면 true를 반환했기에 실행로직을 실행합니다. 조건문내의 isAlive는 변수의 값을 기준으로 논리 연산을 위해 사용됐을 뿐 isAlive의 값 자체를 변경하진 않습니다.