📣 더 깊은 내용이 담긴 '프날 오토핫키 강좌 v2'의 서적판이 공개되었습니다.
가장 최신의 오토핫키를 담은 '프날 오토핫키 강좌 v2'를 책으로 만나보세요!
v2 페이지에 공개된 분량보다 더욱 깊은 내용을 처음이라도 괜찮아, 오토핫키 프로그래밍을 통해 배울 수 있습니다.
전국 온/오프라인 서점에서 만나요!
책 더 알아보기 및 구매하기
10강과 11강은 외울 것이 좀 있습니다. 무리하지 말고 천천히 외우셔도 되니, 숙지하셨으면 좋겠습니다.
강좌가 좀 긴데, 무작정 강좌만 읽으시지 말고 직접 코딩하면서 읽으셨으면 좋겠습니다.
특히, 예제들을 베끼지 말고 직접 써서 실행시켜보시면 한 번에 이해가 되실겁니다.
연산자의 종류
지난 강에서 말씀드렸다싶이, 우리가 배울 연산자는 총 5가지입니다. 이번엔 그 중 아래와 같은 세 가지를 배워보겠습니다.
- 대입 연산자
- 산술 연산자
- 비교 연산자
하나씩 살펴보도록 하겠습니다.
변수에 값을 넣는 대입 연산자
대입 연산자는 두 가지가 있습니다. 하나는 :=, 다른 하나는 .=입니다.
대입 연산자를 기준으로 왼쪽에는 변수, 오른쪽에는 값이 올 수 있습니다.
1. :=의 역할과 뜻
:=의 뜻은 "오른쪽에 있는 식을 왼쪽에 대입한다"입니다.
var := 1
→ var 변수에 1을 대입합니다.
변수에 변수를 담을 수 있습니다. 이 경우엔 변수가 가지고 있는 값이 들어갑니다
var1 := 10
var2 := var1
→ var2 변수엔 var1의 값인 10이 들어갑니다.
문자나 문자열을 담을 땐 아래와 같이 따옴표로 감싸줍니다.
var := "동해물과 백두산이 마르고 닳도록"
이렇게 섞어 쓸 수도 있습니다.
var1 := 12
var2 := "신에게는 아직 " var1 "척의 배가 남아있습니다."
→ var2 변수엔 "신에게는 아직 12척의 배가 남아있습니다"라는 문장이 담깁니다.
2. .=의 역할과 뜻
:=와 다르게 특수한 기능을 하는지라, 잘 쓰이지는 않습니다.
.=는 뒤에 오는 값을 현재 가지고 있는 값에 '붙이는' 역할을 합니다.
말이 어렵죠? 직접 보겠습니다.
var := 1
이렇게 이미 var 변수에는 1이 대입되어있습니다. 이 상태에서 .= 연산자로 2를 대입해보겠습니다.
var .= 2
var 변수에는 어떤 수가 들어가있을까요? 정답은 "12"입니다. 기존에 있던 1 뒤에, 새로 들어오는 2를 줄세우는 역할입니다.
비교해볼까요? 아래 두 연산의 결과를 알려드리겠습니다.
var1 := 100
var1 := 200
var1 := 300
var2 := 100
var2 .= 200
var2 .= 300
연산을 마친 후, var1에는 300이라는 값이 들어가있습니다.
반면, var2에는 100200300이라는 값이 있습니다.
이렇게 .=는 들어오는 값을 이어 붙입니다.
변수를 사용하는 방법
이렇게 변수에 값이 대입되기만 하면 아무 쓸모가 없지요. 변수를 사용하여 어떤 값이 담겨있는지 확인해봅시다.
변수를 사용할 땐 %기호로 변수를 감싸서 변수임을 표시해줍니다. 다음과 같이 말입니다.
var := 100
MsgBox, %var%
이해가 되셨나요? 대화 상자에는 100이 출력될 것입니다.
아래 예제는 .=를 사용했습니다.
var := 100
var .= 200
var .= 300
MsgBox, %var%
간단하지만 중요하니 꼭 숙지하고 계세요. 예외나 추가적인 사항은 강좌를 진행하면서 그때그때 말씀드리도록 하겠습니다.
그리고 한 번 대입된 변수는 값을 바꾸기 전까지는 남아있습니다. 변수를 사용한다고 값이 없어지는 것은 아니란 뜻입니다.
Q.
대입 연산자중에 =도 있지 않나요?
A.
네 맞습니다. 사실 =도 대입 연산자입니다. 그렇지만 일반적인 대입 연산자와는 성격이 조금 다르기에, 강좌에서는 다루지 않습니다.
1. =는 오토핫키에서 비교 연산자로 이미 쓰입니다.
2. =는 :=와 역할이 같은데도 불구하고 사용법이 다릅니다.
3. =를 대입 연산자로 설명 해버리면 :=와 =의 차이를 헷갈리실 수 있습니다.
여기서 2번, 사용법이 다르다는 말에 간단히 설명해드리면
:= 연산자는 우측에 변수가 오면 그냥 써주고, 문자열이 오면 ""로 감싸주지만
= 연산자는 우측에 변수가 오면 %%로 감싸주고, 문자열은 그냥 써주는 방식입니다.
용도가 같은 두 연산자를 아실 필요는 없습니다. 또한, 오토핫키 공식 문서에선 =를 이용한 대입 방식을 비권장하고, :=대입을 이용하라고 표기되어있습니다.
강좌에서 대입 연산자로는 :=만 사용하도록 하겠습니다. 여러분도 되도록이면 그렇게 사용해주시고요. 대입 연산자로서의 =는 설명드리지 않겠습니다.
값을 계산해주는 산술 연산자
산술 연산자는 보통 문자열이 있을 경우를 생각하지 않습니다. 우리는 숫자(와 숫자를 담은 변수)의 경우만 생각하도록 하겠습니다.
산술 연산자는 말 그대로 계산을 담당합니다. 우리가 아는 사칙연산말입니다.
연산을 한 후 대입을 해서 결과를 봅시다.
var := 2 + 3
MsgBox, %var% // 5가 출력됩니다.
쉽지요? 빼기, 곱하기, 나누기의 경우도 동일합니다. 각각 -, *, /입니다.
var1 := 2
var2 := "한국을 빛낸 " var1 + 99 "명의 위인들"
MsgBox, %var2%
대입과 연산을 하나로 묶은, 산술-대입 연산자
위에서 알 수 있듯, 산술 연산자는 어차피 대입 연산자를 통해 대입해야 하는 경우가 대다수입니다.
그렇기때문에 사칙연산을 한 후 대입까지 한번해 해주는 연산자가 있습니다. 이를 산술-대입 연산자라고 부릅니다.
- +=
- -=
- *=
- /=
감이 오시죠? 예제로 확인하겠습니다.
var := 3
var += 2 //이 부분은 var := var + 2와 동일합니다.
MsgBox, %var% // 5가 출력됩니다.
값끼리 비교해주는 비교 연산자
비교 연산자가 제일 쉽습니다. 좌측과 우측에 있는 값을 비교하는 것이 전부입니다.
아직 MsgBox로 확인할 수는 없고, 쭉 읽고 '그렇구나' 하시고 넘어가시면 됩니다.
- >
- <
기본적으로 부등호가 있고요, (a > b)처럼 사용합니다.
- <=
- >=
이런식으로 이상과 이하 부등호를 만들 수 있습니다.
- =
- <>
마지막으로 위는 같다, 아래는 다르다입니다. 외우기도 쉽죠?
요약
사실 너무 많은 내용을 한 강에 몰아넣은 느낌이 있습니다.
한 번에 이해하지 못하셔도 좋습니다. 마지막으로 이번 강 내용을 요약해보겠습니다.
[대입 연산자]
:= 오른쪽의 값을 왼쪽 변수로 대입한다.
.= 오른쪽의 값을 왼쪽 변수의 값에 이어붙인다.
[산술 연산자]
+ 더하기
- 빼기
* 곱하기
/ 나누기
[산술-대입 연산자]
+= 더해서 대입
-= 빼서 대입
*= 곱해서 대입
/= 나눠서 대입
[비교 연산자]
> 왼쪽이 오른쪽보다 더 크다.
< 오른쪽이 왼쪽보다 더 크다.
>= 왼쪽이 오른쪽보다 크거나 같다.
<= 오른쪽이 왼쪽보다 크거나 같다.
= 같다
<> 다르다
수고하셨습니다.
아마 전 강좌를 손꼽아서 이번 강이 제일 어려웠을 것 같습니다.
다음 강엔 논리 연산자와 증감 연산자입니다. 이번 강보다 쉽습니다.
< 9. 연산자의 의미 | 10. 연산자의 종류 (상) | 11. 연산자의 종류 (하) >
⚠ 이 강좌는 오토핫키 v1을 다룹니다
지금 보시는 강좌는 구버전 오토핫키(v1.1)를 다루고 있습니다. 따라서 본 강좌의 내용은 현재 최신 오토핫키 버전 (v2.0)과 호환되지 않습니다. 구버전의 정보가 필요한 것이 아니라면, 가능한 한 새로운 사이트에 작성한 v2 강좌(https://ahkv2.pnal.dev)를 봐주시길 바랍니다.