본문 바로가기

반응형

안녕하세요. 이번 강의에서는 연산자에 대해서 알아볼 생각입니다.

사실 여러분은 연산자를 처음 보시는 것이 아닙니다.

미래에 쓸지도 모르는 수학을 배우면서 학교에서 탈출하시기 전까지 보셨을겁니다.

하지만 프로그래밍에서는 학교에서 탈출해서도 못본 연산자를 볼 수 있습니다.

 

1. 산술 연산자

일단 제일 먼저 간단하게 산술 연산자라는 것을 보실 수 있습니다.

수학에 제일 기본적으로 사용되는 것이기에 이 연산자는 학교에서 탈출한 여러분이라면 다 아실 수 있습니다.

 

+ 더하기
- 빼기
* 곱하기
/ 나누기
% 나머지

아마 다들 한번씩은 보신 적이 있으실겁니다.

가끔 가다가 '%' 를 수학에서 보신적이 없다고 생각하신 분들이 계시지만

사실 저도 본적 없습니다.

 

'+' 는 다들 아시다시피 그저 더하는 것입니다.

프로그래밍에서도 5 + 3 이런 식으로 들어갑니다.

 

'-' 는 값을 빼는겁니다.

5 - 2 는 무엇일까요? '3' 입니다. '3' 이 이제 변수에 들어가는 겁니다.

 

'*' 는 '×' 가 더 익숙하실테지만 '*' 을 사용합니다.

그냥 곱하는 겁니다.

 

'/' 는 나누어주는 것입니다. '÷' 를 학교 교과서에서 보셨겠지만 프로그래밍에선 '/' 를 사용합니다.

그냥 나누어주는 것이지만 결과를 나타낼 때 약간 난해한 것이 있습니다.

오토핫키에서는 간단한 매크로만 만들면 영원히 안쓸지도 모를 자료형이라는 것이 존재합니다.

그 자료형에 따라서 소수점 아래의 값까지 출력이 될 수도 있지만 그 아래의 값을 없애버릴 수도 있습니다.

하지만 제 강좌에서는 등장하지 않으니 걱정하지 않으셔도 괜찮을겁니다.

아마 등장하지 않을거에요.

 

'%' 는 나눈 값의 나머지를 구하는 연산자입니다.

초등학생 시절 나머지 값을 구하는 수학을 해보신 적이 있으실겁니다. 아님 말고

5 / 2 = 2…1 이라는 식이 기억나시나요?

저 식의 값은 2이며 나머지는 1이라는 답을 적은 기억이 새록새록 나실겁니다.

'/' 는 2를 구한다면 '%' 는 1을 구하는 것입니다.

※ 물론 5 / 2 = 2.5 로 '/' 를 쓰면 2가 아니라 2.5가 출력됩니다.

 

 

2. 대입 연산자

변수를 생성하시고 그 변수에 값을 넣으시려면 대입연산자가 필요합니다.

산술 연산자만큼 많이 나오는 연산자로 자주 사용하실 예정이십니다.

 

:= 대입
.= 누적 대입

많이 사용하는 만큼 많은 연산자가 존재하는 것은 아닙니다.

하지만 예전엔 안됬는데 지금은 되는 것이 있죠.

 

':=' 은 일반적인 대입입니다.

변수에다가 값을 저장하는 것으로 'a := 5' 는 'a' 안에 '5' 라는 값이 있다는 것이죠.

하지만 '=' 로도 같은 역할을 수행할 수 있습니다.

큰 차이는 모르겠지만 어느날 다른 언어 쓰듯이 썼더니 되더군요.

저희는 전문적이지 못해서 그냥 넘어갈 뿐이죠.

 

'.=' 은 누적 대입이라는 것입니다.

저는 사용한 적은 없어서 정확한 사용법은 모르겠지만

누적 대입이라면 변수에 값이 쌓인다는 것이니 배열로 쌓일지 아니면

산술 대입 연산자의 역할을 해주는 것인지 잘 모르겠습니다.

 

 

3. 비교 연산자

IF문을 사용할 때 자주 사용하는 연산자입니다.

비교 연산자의 결과는 항상 TRUE or FALSE 를 출력합니다.

 

A > B A가 B보다 크다.
A < B A가 B보다 작다.
A >= B A가 B보다 크거나 같다.
A <= B A가 B보다 작거나 같다.
A = B A가 B와 같다.
A <> B A와 B는 다르다.

이 연산자도 수학을 배우다보면 보신적이 있으실겁니다.

사실 언제 배웠는지 기억이 나진 않지만 처음 배울 때 처음 본 느낌이 아니더군요.

 

'A > B' 는 값을 비교해 결과를 출력합니다.

'A' 가 'B' 보다 크다는 것이 맞다면 'TRUE' 를, 아니라면 'FALSE' 를 출력합니다.

 

'A < B' 또한 위와 비슷합니다.

'A' 가 'B' 보다 작다는 것이 맞다면 'TRUE' 를, 아니라면 'FALSE' 를 출력합니다.

 

'A >= B' 는 한가지 중요한 사실이 있습니다.

'A => B' 이런식으로 사용할 수 없다는 것이죠.

항상 '=' 가 '>' 뒤에 와야합니다. 그래야지만 '크거나 같다' 라는 것을 확인할 수 있습니다.

'A' 가 'B' 보다 크거나 같다면 'TRUE' 를, 아니라면 'FALSE' 를 출력합니다.

 

'A <= B' 또한 위와 비슷합니다.

'A' 가 'B' 보다 작거나 같다면 'TRUE' 를, 아니라면 'FALSE' 를 출력합니다.

 

'A = B' 는 'A' 와 'B' 가 같다면 'TRUE' 를, 아니라면 'FALSE' 를 출력합니다.

'A <> B' 는 'A' 와 'B' 가 다르다면 'TRUE' 를, 아니라면 'FALSE' 를 출력합니다.

하지만 'A <> B' 가 아닌 'A != B' 로 나타낼 수도 있습니다.

'!' 는 부정으로 반대를 의미합니다.

즉 같다는 것의 반대는 다르다를 의미하기 때문에 같은 의미로 사용할 수 있습니다.

 

4. 산술 대입 연산자

+= 원래 값에 더해서 대입
-= 원래 값에 빼서 대입
*= 원래 값에 곱해서 대입
/= 원래 값에 나눠서 대입

처음 보는 것에 당황하실 수도 있겠지만 전혀 어려운 것이 아닙니다.

그저 생소할 뿐이죠.

 

'A += B' 라는 형태로 사용하는 이것은 결국 풀어보면 'A = A + B' 라는 형태가 됩니다.

즉 'A' 의 값은 '5' 였으며 'B' 의 값이 '3' 이라면 'A = 5 + 3' 이라는 것으로 풀어볼 수 있습니다.

그렇게 되어 'A' 의 값은 '8' 이 되는 것이죠.

 

다른 산술 대입 연산자도 다르지 않지만 하나의 예시를 더 들어보자면

'A *= B' 라는 형태로 사용하는 이것 또한 풀어보면 'A = A * B' 라는 형태가 됩니다.

이 두 변수의 값이 위와 같다면 'A = 5 * 3' 이라는 것으로 풀어볼 수 있습니다.

그렇게 되어 'A' 의 값은 '15' 가 됩니다.

 

5. 논리 연산자

&& 그리고, AND
|| 또는, OR
! 부정, NOT

프로그래밍에서는 논리 연산자라는 것이 존재합니다.

이것 또한 처음 보는 것이지만 어렵지 않습니다.

 

'&&' 는 AND 라는 의미로 보통 'TRUE && TRUE' 는 'TRUE' 라는 값을 출력하죠.

어디에 사용하는가 한다면 2가지의 조건 모두 'TRUE' 값을 받아야 하는 경우에 사용합니다.

즉 'if(A=5&&B=3)' 이라는 IF문을 사용합니다.

이러할 때 'A' 의 값은 원래 '5' 였고, 'B' 의 값이 '3' 이었다면 'TRUE AND TRUE' 가 되어 'TRUE' 를 출력합니다.

하지만 'A' 의 값이 '3' 이었고, 'B' 의 값은 그대로 '3' 이라면 'FALSE AND TRUE' 가 되어 'FALSE' 가 됩니다.

반대로 'A' 의 값이 '5' 인데, 'B' 의 값이 '5' 라면 'TRUE AND FALSE' 가 되어 'FALSE' 가 됩니다.

즉 '&&' 는 두 개를 비교하는 중 하나라도 'FALSE' 라면 'FALSE' 를 출력하고 모두 'TRUE' 여야면 'TRUE'를 출력합니다.

 

'||' 는 위와 조금 다릅니다. '||' 는 OR 이라는 의미로 하나만 'TRUE' 라면 'TRUE' 를 출력합니다.

두가지가 모두 'TRUE' 라면 'TRUE'를 출력하고

한가지만 'TRUE' 라도 'TRUE'를 출력하지만

둘 다 'FALSE' 라면 'FALSE' 를 출력합니다.

 

'!' 는 그냥 부정입니다. 'TRUE' 값을 출력하는 친구에게 '!' 를 붙여주면 부정타서 'FALSE' 로 전향합니다.

'!' 를 붙여주면 애가 삐뚤어져서 반대 값을 출력합니다.

만약 값이 'TRUE' 인 값에 '!' 를 붙여준다면 'FALSE' 가 되어버리고

'FALSE' 인 값에 '!' 를 붙여준다면 'TRUE' 가 되버립니다.

 

6. 증감 연산자

++ 값을 1 증가시킨다.
-- 값을 1 감소시킨다.

이 연산자는 변수와 함께 사용합니다.

변수의 앞에 붙어도, 뒤에 붙어도 상관이 있습니다.

 

'++' 는 'A++' 혹은 '++A' 형태로 사용할 수 있습니다.

그냥 간단하게 위와 같이 사용한다면 'A' 라는 변수의 값을 '1' 증가시키는 것이 전부인 연산자입니다.

하지만 앞에 오느냐 뒤에 오느냐에 따라서 약간의 차이가 존재합니다.

'++A' 의 형태로 사용된다면 그 줄의 코드가 실행되기 전에 '1' 이 증가합니다.

그러나 'A++' 의 형태로 사용된다면 그 줄의 코드가 실행된 후 '1' 이 증가합니다.

이런 간소한 차이가 있지만 이러한 차이로 코드에 차이가 존재할 수 있습니다.

 

'++' 이 '1' 을 증가시킨다면 '--' 는 '1' 을 감소시킵니다.

앞에 오는것, 뒤에 오는것의 차이는 '++' 과 같습니다.

 

 

6가지의 연산자를 보셨을텐데요.

다른 언어를 사용하더라도 자주 사용되는 기초 연산자들입니다.

전부 어렵지 않으니 쉽게 이해하실 수 있을 것이라 생각되지만

전부 한번에 외우려면 시간이 걸릴 수 있으니 보면서 여러번 반복하는 것이 좋다고 생각합니다.

댓글