오토핫키

[ 오토핫키 ] 1-1강, 연산자에 대해서

코딩하는냥이 2020. 5. 17. 22:56
반응형

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

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

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

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

 

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가지의 연산자를 보셨을텐데요.

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

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

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