⚠ 이 강좌는 오토핫키 v2를 다룹니다
지금 보시는 강좌는 과거 오랜 시간동안 알려진 오토핫키(v1.1)의 차세대 버전인 오토핫키 v2를 다루고 있습니다.
만약 구버전인 '오토핫키 v1.1'의 강좌를 찾으신다면 프날 오토핫키 강좌(https://pnal.kr)를 봐주시면 되지만,
새로 오토핫키를 배우신다면 v2 버전을 배우시는 것을 강력히 추천드립니다.
14. 연산자의 종류 (상)
마지막 수정일: 2023-12-17
오토핫키에 쓰이는 여러 연산자를 배워보겠습니다. 모든 연산자를 배우기엔 아직 이해가 어려운 것도 있으니, 기초 강좌인 여기서는 주요 연산자만 다루도록 하겠습니다.
대입 연산자
대입 연산자는 변수에 값을 대입해줄 때 사용하는 연산자입니다. 대입 연산자의 왼쪽엔 변수, 오른쪽엔 대입해줄 값을 사용합니다. 아래와 같이 두 종류의 대입 연산자가 있습니다.
대입 연산자 | 설명 |
---|---|
:= | 변수에 값을 대입 |
.= | 변수에 값을 이어서 대입 |
먼저 :=
는 대부분 경우에서 사용하는 일반적인 대입 연산자이며, 오른쪽의 값을 왼쪽의 변수에 대입하는 역할을 합니다.
1 var := 10
1 var := "텍스트"
위와 같이 사용하면, var
변수에 각각 10
과 텍스트
를 담게 되죠. 문자열에는 따옴표 처리를 한 점도 눈여겨볼 만합니다.
그리고 .=
연산자는 변수에 값을 이어서 대입하는 역할을 합니다. 기존에 변수가 갖고있는 값에, 새로 대입한 값이 이어지는 것이죠.
따라서 아래의 예제 3
에선 꼼짝마! 움직이면 쏜다!
라는 문장이 var
변수에 담기고, 이것이 출력될 것입니다.
1 var := "꼼짝마! "
2 var .= "움직이면 쏜다!"
3 MsgBox(var)
만약에 2번 줄에서 .=
연산자가 아닌 :=
연산자를 사용했다면 var
변수는 움직이면 쏜다!
만 담겨있었겠죠.
.=
연산자를 사용했기 때문에, 기존에 변수가 가지고 있던 값에 새 값이 이어서 대입(=연결)된 것입니다.
Tip: 변수와 변수, 변수와 문자열의 연결도 가능합니다
var := var1 var2
var := "string" var
12강에서 배웠던 것처럼 변수와 문자열, 변수와 변수를 연결해서 사용할 수도 있습니다. 변수와 문자열을 띄어쓰기로 구분한다고 했죠.위의 예시에서
var1
에 문자열 A
, var2
에 문자열 B
가 담겨있다고 가정하면
var
변수엔 최종적으로 stringAB
라는 문자열이 담기겠네요.
산술 연산자
산술 연산자는 여러분이 수학(산수)에서 사용하던 사칙연산과 동일합니다.
산술 연산자 | 설명 |
---|---|
+ | 더하기 |
- | 빼기 |
* | 곱하기 |
/ | 나누기 |
// | 나누기 (몫만 구하기) |
쉽죠? MsgBox
를 이용하여 산술 연산의 결과를 출력해봅시다.
1 MsgBox("1 + 2 = " 1 + 2)
위의 코드 조각에서, "1 + 2 = "
부분은 문자열이므로 문자 그대로 출력될 것입니다.
그 뒤의 1 + 2
부분은 따옴표로 감싸주지 않았으므로, 연산이 되어 3
이 되겠죠. 따라서 알림상자에는 1 + 2 = 3이 출력됩니다.
당연히 산술 연산의 결과를 변수에 대입할 수도 있습니다.
1 calcResult := 3 * 5
2 MsgBox("결과는 " calcResult "입니다.")
복합 대입 연산자
복합 대입 연산자는 대입 연산자와 산술 연산자를 합쳐둔 것입니다. 주어진 변수에 특정 값을 산술연산해주는 역할을 합니다.
산술 연산자 | 설명 |
---|---|
+= | 더해서 대입 |
-= | 빼기 |
*= | 곱해서 대입 |
/= | 나눠서 대입 |
//= | 나워서 대입 (몫만 구하기) |
말이 어려운데, 예제를 보면 이해가 쉽습니다.
1 num := 5
2 num += 3
3 MsgBox(num)
위와 같은 상황에서, 2번 줄을 주목해주세요. 복합 대입 연산자 +=
가 사용되었습니다.
num
변수에 3이 더해져서, num
변수는 최종적으로 8
의 값을 갖습니다.
즉, var += n
은 var := var + n
과 완전히 동일합니다! 변수에 특정 값을 연산해주는 역할을 해서 재대입 해주는 것이지요.
Tip: 연산의 대상으로 변수도 사용 가능합니다.
아래와 같이, 변수가 가진 값을 대입하거나 산술 연산할 수도 있습니다.
var := num1 + num2 - 10
위의 예시에선 num1 + num2 - 10
의 결과값이 var
변수에 담길 것입니다.
너무 많은 내용을 한 번에 했네요. 나머지 연산자는 하편으로 쪼개어서 진행하겠습니다.