프날 오토핫키 강좌  v2

⚠ 이 강좌는 오토핫키 v2를 다룹니다

지금 보시는 강좌는 과거 오랜 시간동안 알려진 오토핫키(v1.1)의 차세대 버전인 오토핫키 v2를 다루고 있습니다.
만약 구버전인 '오토핫키 v1.1'의 강좌를 찾으신다면 프날 오토핫키 강좌(https://pnal.kr)를 봐주시면 되지만, 새로 오토핫키를 배우신다면 v2 버전을 배우시는 것을 강력히 추천드립니다.

69. GUI의 의미


Part 3에 와서 재미 없는 부분만 공부하게 되어서 실망하셨을 수도 있겠습니다. 이번 강부턴 우리가 실제 사용하는 프로그램의 모습을 구현해볼 것입니다. 엄청나게 재미있고, 성취감 또한 좋습니다. 유의미한 활동이라는 기분이 들기 때문에 저처럼 끈기가 약하신 분들도 재미있게 프로그래밍 할 수 있습니다.

이번 강부터 GUI 프로그래밍을 배우겠습니다. GUI라는 말은 컴퓨터 쪽에서 쉽게 쓰이는 말이기 때문에, 아마 들어보신 분도 있을지 모릅니다. 이번 강에서는 GUI가 무엇인지 배우면서 향후 어떤걸 배우길래 제가 '재미있다'고 단언했는지 알아보겠습니다.

불편한 프로그램

우리가 지금까지 만들었던 프로그램은 '핫키'를 이용한 동작을 했습니다. 사용자는 프로그램에 저장된 동작을 핫키를 누름으로써 실행시킵니다. 이 방식은 직관적이지 못합니다. 예를 들어서 처음 보는 사람에게 우리가 만든 프로그램을 공유한다고 합시다. 그러면 어떤 키를 누르면 어떤 동작이 수행되는지 일일이 알려주어야 합니다. 사용자는 각 키에 따른 동작을 외우거나, 찾아야합니다. 참 불편한 프로그램입니다.

여기 불편한 프로그램이 또 있습니다. 과거 소프트웨어가 발달하기 전, 인류는 이와 비슷하게 '글자를 이용해서' 프로그램을 동작시켰습니다. 원하는 동작을 수행하기 위해 문자를 입력하는 방식이었죠. 이를 CLI(Command Line Interface) 방식이라고 합니다.

PC 통신을 아시는 분 계신가요? 파란 화면에 흰색 글씨로 안내가 뜨면, 그 안내에 따라 글씨를 입력해서 원하는 작업을 했습니다. pg 3을 입력해서 3번 페이지로 이동하고, p를 입력해서 이전 화면으로 돌아가고... 이것이 CLI 방식입니다.

글번호 1. 오토핫키 넘나 좋네요~, 글번호 2. 방가방가. 하이루., 글번호 3. PC 통신 예시 화면 검은화면 흰글씨
사진 1~2. 대표적인 CLI 환경인 PC통신(좌)와 터미널(우)

GUI의 등장

그런데 요즘 여러분이 일상적으로 쓰는 컴퓨터 프로그램은 어떤가요?

  • 원하는 프로그램의 아이콘을 마우스로 더블 클릭해서 실행합니다.
  • 입력할 글이 있다면 키보드로 입력합니다.
  • 마우스로 프로그램의 버튼을 누릅니다.

화상으로 보이는 요소를 이용해서 프로그램과 상호 작용합니다. 앞서 배웠듯이 '창'과 '컨트롤'을 이용한 프로그램이죠. 이를 GUI(Graphic User Interface)라고 합니다. CLI 방식보다 훨씬 편리하지 않나요?

여러분이 흔히 쓰는 인터넷 브라우저나 게임과 같은 프로그램이 모두 GUI 프로그램입니다. 아주 소수를 위해서 CLI 방식의 인터넷 브라우저나(당연히 이미지는 표현할 수 없습니다.) 게임이 존재하지만, 적어도 여러분이 의식적으로 사용하는 프로그램은 대부분 GUI 프로그램일 것입니다. 심지어, Windows나 Mac OS와 같은 대부분의 가정용 '컴퓨터 운영체제'도 GUI 환경입니다. 프로그램을 실행할 때 마우스로 아이콘을 클릭 하니까요.

오토핫키로 만드는 GUI 프로그램

이제부터 여러분은 GUI 프로그램을 직접 만들어볼 것입니다. 네, 흔히 볼 수 있는 아주 일반적인 유용한 프로그램 말입니다.

사용자는 버튼을 클릭해서 동작을 수행합니다. 관련된 정보는 끊김없이 화면에 보여줄 수 있습니다. 사용자로부터 문자열을 입력받아서 원하는 작업을 할 수 있습니다. 이 모든 것을 오토핫키로 구현해 보겠습니다.

GUI 프로그래밍을 배우면 오토핫키로 만든 프로그램을 다른 사람에게 공유하기에 용이해집니다. 버튼 클릭 한번으로 원하는 작업을 수행하는 프로그램을 만들어보세요! 본 강좌의 첫 부분에서 언급했던 매상 정리 프로그램이나 POS 프로그램, 재고 관리 프로그램을 만들수도 있고, 회원 관리 프로그램도 멋지게 만들 수 있습니다.

바로 다음 강 부터! 본격적인 GUI 프로그래밍을 위한 여정을 떠나보겠습니다.

질문하러 가기