• 북마크
  • 추가메뉴
어디로 앱에서 쉽고 간편하게!
애플 중고 거래 전문 플랫폼
오늘 하루 보지 않기
KMUG 케이머그

팁사용기

[팁] 리얼베이직 문법 변수

본문

안녕하세요? 미쉐린 김성준입니다.
강좌를 다시 시작하려고 합니다.
흠흠.....처음인데 문법부터 하려고 합니다.
우선 간단한 것부터 간략히 설명 드리면서 하도록 할께요..

1. 변수
대부분의 언어나 프로그램에서는 변수라는 말이 있습니다.
쉽게 말하면 이것은 변하는 수를 말하죠.(다른 서적에도 이런식으로 정의되어있습니다.)
그래서 변수입니다.

프로그래밍적인 요소로 볼때 변수라는 것은 어떤 계산이나 값을 넣기 위해 사용됩니다.
그리고 OS(?) 에서 볼 때에는 메모리(램)의 특정 부위에 공간을 할당해서 사용자가 원하는 값(숫자)이나 문자, 데이타들을 넣는 공간을 만들어 준다라고 보면 됩니다.
여튼 변수는 아주아주 가장 기본이구요. 그냥 외우시면 됩니다.
예를 들어서 a = b + c 라는 것이 있다고 하면
a, b, c 는 모두 변수인 것 입니다.
a = 10+10
이라고 하면 a 만 변수인 것입니다.
여튼 예가 이렇다는 것입니다.
그럼 다음으로..휘릭~!

그럼 변수는 왜 사용할까요?
앞서 간단히 말씀드린 내용과 조합하자면 특정 데이타를 메모리에 잠시 저장해두기 위함이지요.
예를 들어서 10+10 의 결과는 20인데 이 값을 잠시 어디에 넣어두고 싶다고 생각해보도록 하죠.
변수에 넣지 않으면 다른곳에 넣을 수가 없습니다.
아무곳에도 넣지 않는다면 그냥 사라지는 값이 되죠. 컴퓨터는 원래 계산을 빠르게 하고 그 계산 결과를 보기 위함인데
그냥 계산만하고 내용이 사라진다면 황당하겠죠. 간단한 예로 우리가 흔히 보는 계산기가 사칙연산을 하는 것도 내부적으로 입력하는 숫자를 메모리에 저장을 하기 때문인데요. 프로그래밍(리얼베이직)에서는 이런 하나하나 모든 값들을 변수에 저장하게 됩니다. 뭐 변수는

그리고 변수는 쉽게 사라지는 값이라고 볼 수 있습니다. 컴퓨터가 꺼진다던지 프로그램을 종료한다던지, 해당 작업을 끝낸다던지 하면 그냥 사라지는 값이 됩니다.

2. 변수 선언
리얼베이직에서 변수의 선언은 간단합니다. 바로 dim 이라는 키워드를 사용하기 때문이지요.
리얼베이직의 소스들을 보면 dim a as integer 이런 형식의 문장을 보는 경우가 많은대요.
여기에서 a 라는 것이 변수가 됩니다.
앞에 dim 이라고 있으면 바로 뒤에오는 문자가 바로 변수가 되는 것이죠.
비주얼 베이직이나 PHP 등에서는 dim 과 같은 키워드를 생략하는 경우가 아주아주 많은데요.
리얼베이직에서는 무조건 써줘야합니다.
외 dim 인가요? 라고 물으시면 그렇게 만들어서 라고 말해줄수밖에 없습니다. 변수를 선언해줄때에는 반드시 앞에 dim 을 써주세요.

그리고 변수에는 종류가 있습니다. 이러한 종류를 변수의 타입이라고들 하는데요. 크게 나누자면 정수형, 실수형, 문자형 등이 있습니다. 무슨 말이냐..... 정수형 변수는 계산할때 정수밖에 계산 못합니다. 실수형은 실수만 계산합니다. 문자형은 "안녕하세요?" 와 같은 문자를 저장해줍니다. 알아서 해주는 것이 아니라 한번 종류가 정해지면 그것밖에 못합니다. 좀 바보같죠. PHP 와 같은 언어에서는 좀 똑똑하기 때문에 이러한 구분이 좀 없는데요. 리얼베이직은 이러한 종류를 아주아주 엄격하게 나누어 줍니다. 이러한 엄격한 종류(타입)의 구분은 장단점이 있는데요.
우선 단점이라면 뭐 매번 써줘야한다. 이정도... 장점이라면 명확하다는 거죠. 선언부만 보고도 아 이것은 변수구나 , 뭐구나 하는것을 알 수 있다는 것 입니다. 그럼 다음의 예제를 보도록 하죠.

dim kkk as Integer

위에서 보면 처음에 dim 이라고 되어있기 때문에 변수를 선언하려고 하는구나를 알 수 있습니다.
그리고 다음에 나오는 "kkk"라는 문자가 변수명이 되구요. 그리고 다음에는 항상 그 변수의 종류(타입)이 나오게 되는데요.
그냥 나오는것이 아니라 as 라는 키워드가 항상 위치하게 됩니다. 그리고 변수 타입이 나오죠.
위의 예제는 Integer 라는 타입인데 이것은 정수를 나타냅니다. 즉 kkk 라는 정수형 변수를 선언합니다라고 해석하면 됩니다.
처음에 dim 변수명 as 변수의 타입 이런식으로 된다는 것을 명심해 두세요.

변수를 선언할 때 변수명은 아무거나 하면 됩니다. 하지만 몇가지 제약이나 규칙이 있습니다.
1) 숫자로 시작할 수 없고 영문자로 시작되며 중간이나 끝에는 숫자가 들어갈 수 있다.
ex) a123, ab123bbg, myValu2
2) 명령어나 함수, 리얼베이직 내에서 이미 예약되어 사용되고 있는 명칭은 사용할 수 없다.
ex) if, dim, select, while 등
3) 띄워쓰기는 할 수 없지만 언더바(_) 등은 사용이 가능하다.
4) 사칙연산등의 특수기호(와일드카드문자) 등은 같이 사용할 수 없다.
5) 대소문자 구분이 없다(C나 C++에서는 구분이 있죠.)

대충 위와 같구요. 뭐 위의 내용은 숙지보다는 사용하다보면 다 알게되는 그런것 입니다..^^;;



3. 변수의 종류
크게 보면 변수의 종류(타입)은 다음과 같습니다.

Integer - 정수형
String - 문자형
Double - 실수형
Boolean - 참(True)과 거짓(False)을 나타내는 형
Color - 칼라데이타형

위의 대이타형은 순수한 데이타형만을 나타낸 것이며 엄청 나중에 배울 클래스등도 변수형과 같은 형식으로 지정할 수 있습니다.
(당연한 것이겠지만요..-__-;;)

정수형은 리얼베이직 2006 버젼 이후에 그 크기에 따라서 여러가지 종류로 나뉘어 지는데요.
기본형인 Integer, Int64, UInt64 등 크기와 +- 구분에 따라 사용할 수 있습니다.



4. 변수를 이용한 간단한 계산
그럼 간단한 코드 예제를 보도록 하겠습니다.
먼저 아래의 코드를 보도록 하죠.

dim a, b, c as Integer

a = 10
b = 100

c = a + b

위의 코드를 보면 아주 간단하죠?
먼저 해석을 해보자면 dim 이후에 나오는 a, b, c 라는 각각의 변수명을 정수형 변수로 3개를 선언한 것입니다.
그리고 a 라는 변수에는 10이라는 숫자를 넣었구요. b 에는 100이라는 숫자를 넣었습니다.
= 기호를 통해서 각각의 변수에 값을 대입할 수 있습니다.그리고 c 에는 a + b 니까 그 합이 되겠죠.
따라서 c 의 값은 110이 됩니다.
위의 코드는 리얼베이직에서 Open Event 에 그냥 넣기만 해도 아무 문제없이 수행이 됩니다. 다만 결과가 화면에 나타나지는 않죠.
또하나의 예를 들어볼까요?

dim a, b as integer
dim m as String


a = 100
b = 100

m = str(a+b)

msgbox m

위의 예는 a, b 를 정수형 변수로 정해놓고 m 이라는 변수는 문자형 변수로 선언한것을나타냅니다.
그리고 a 와 b 에 각각 100 이라는 정수값을 넣었구요.
그 합을 m 에 넣었습니다. 그런데 말이죠. m 은 문자형 변수로 지정했는데 어떻게 정수형 결과를 넣을 수 있겠느냐?
바로 str 이라는 함수를 사용했기 때문입니다. str 함수는 정수나 실수의 숫자를 문자형으로 바꾸어주는 함수입니다.
따라서 a+b 의 결과는 200이지만 숫자 200이 아니라 문자 200으로 문자형 변수 m 에 들어가게 됩니다.
PHP 에서는 생각할 필요도 없는 부분이지만 리얼베이직은 앞서 말씀드린 것처럼 이러한 변수의 형식에 굉장히 엄격합니다.
따라서 정수를 문자에 넣으려면 반드시 문자형으로 바꾸어줘야하고 문자를 정수로 넣으려면 반드시 정수형으로 바꾸어주던지 하는 타입변형이 이루어져야 합니다. 물론 이런것은 C 나 C++과 같은 언어에서도 마찬가지입니다.
참고로 문자형을 정수형으로 바꾸어주는 함수는 Val 이라는 함수입니다.
여튼 위의 예는 말이죠 결과적으로 m = "200" 이라고 대입한것과 동일합니다.
참고로 문자형은 숫자와는 다르기 때문에 직접 문자 대입시에는 "" 기호를 양쪽에 넣어줘야합니다.

여튼 위의 코드를 OpenEvent 에 작성해서 그냥 실행시키면 윈도우가 하나뜨면서 200 이라는 결과를 나타내 줄 것 입니다.
간단하죠? 말은 길지만 항상 간단한 내용들입니다. 이러한 간단한 내용들을 하나하나 모아서 복잡한 프로그램을 만들어가는 것이죠.

마치며...
자 오늘은 변수에 대해서 알아보았는데요. 문법에 대해서는 조건문, 반복분 등 하나하나 해나가도록 하겠습니다.
그리고 다른 예제도 하나하나 올리돌록 하죠.
틀린부분 있으면 우선 이해해주시고 그리고 지적해주세요..^^;;
그럼 좋은 하루 되시구요.
다음에 도 뵐께요..^^;;

http://4k.kmug.co.kr
michelin@shinbiro.com

from michelin
0 0
로그인 후 추천 또는 비추천하실 수 있습니다.
포인트 5,044
가입일 :
2004-01-25 23:38:19
서명 :
미입력
자기소개 :
미입력

최신글이 없습니다.

최신글이 없습니다.

댓글목록 2

이욱정님의 댓글

질문있습니다. 리얼베이직은 비쥬얼베이직이랑 문법이 같나요?
베이직은 한번도 해본 적이 없어서요.
그리고 리얼베이직은 여러 운영체제에서 사용가능하다고 하셨던 거 같은데
같은 소스코드를 다른 환경에서 새로 컴파일하면 실행가능하다는 얘긴가요?
만약 그렇다면 크로스 컴파일 가능한가요?

김성준님의 댓글

리얼베이직과 비주얼 베이직의 문법은 동일합니다. 하지만 90%정도만 같구요.
나머지 10% 정도는 좀 차이나는 부분은 있지만 기본적으로 베이직 문법이기 때문에 거의 동일하다고 할 수 있습니다. 기본은 같지만 약식표기등의 자유로움은 비주얼베이직이 좀 더 다양하고 자유롭다고 볼 수 있죠. 리얼베이직은 기본 문법적용은 굉장히 엄격합니다. 이런것은 장점이 될수도 단점이 될 수도 있습니다.
그리고 리얼베이직은 맥, 윈도우즈, 리눅스 버젼이 있구요. 각각의 OS 에 맞는 특수한 기능을 넣지 않는다면 동일한 코드로 다른 OS 에서 컴파일 됩니다. 따라서 맥에서 윈도우즈나 리눅스용 프로그램을 개발할수도 있는 거죠.머..^^;;

전체 48 건 - 1 페이지