Limetime's TimeLine
article thumbnail
Published 2018. 4. 12. 16:45
(3) 변수와 상수 Visual Basic
반응형

(3) 변수와 상수

<변수>

변수 : 어떤 알려지지 않은 값을 표현할 개체의 이름.

컴퓨터 기억장소 셀에 대한 추상화로서,

기억장소의 상대적 주소에 대한 이름
-> 데이터 저장을 위한 장소로 사용.

변수명 : 변수 안에 들어있는 값과 밀접하게 연관

<변수명 부여 규칙>

ㆍ 첫 문자는 반드시 한글이나 영문자로 시작

ㆍ 255자 이내로 작성

ㆍ 한글, 영문자, 숫자, 밑줄(_)은 사용 가능

ㆍ 마침표(.)나 형식 선언 문자, 작은 따옴표(')는 사용 불가

ㆍ 예약어(Sub, End, Dim, For 등)는 사용할 수 없음

ㆍ 영문 대문자와 소문자는 동일하게 취급

ㆍ같은 범위 내에서 중복된 이름을 가져선 안됨


<선언 형식>

{Public | Private | Dim | Static} 변수명 As 자료형

<변수명>

<헝그리언 표기법>

짧고 간단하면서도 의미 있는 이름

-> 판독력과 작성력 향상

예) int_sum    iSum    합계

[변수명의 예]

ⓐ 틀린 변수명

End -> 예약어

1num -> 숫자로 시작

n*m -> 특수문자 사용

변 수 -> 공백


ⓐ 올바른 변수명

name_1

int_num

변수

num변수

n_m


<자료형>

자료형 : 컴퓨터 프로그램에서 자료형(Data Type)은

가질 수 있는 값의 범위와 행할 수 있는 연산에 대해

정의하는 것을 의미한다.

변수에 값을 넣기 위해서는 변수와 자료형이

일치해야 한다.


ㆍ수치형

[정수형] : ① Integer (2Byte) 

-32,768 ~ 32,767

② Long (4Byte)

-2,147,483,648 ~ 2,147,483,647

[실수형 (부동소수점)] : ① Single (단정도, 4Byte)

-3.4*10^38 ~ 3.4*10^38

② Double (배정도, 8Byte)

-1.8*10^308 ~ 1.8*10^308


ㆍ논리형

- True/False의 2가지 값만 취급

Dim x As Boolean


ㆍ문자열형

- 문자 데이터만 취급

① 가변길이(0~약 2조자)

Dim Name As String


② 고정길이(1~약 65,400자)

Dim Name As String*15


ㆍ가변형

- 디폴트 변수 : 묵시적으로 선언된 모든 변수

- 여러 유형의 데이터를 취급

: 수치, 문자 모두 취급

- 수행 속도나 기억장소 활용에서는 비효율적

* 숫자 : 16Byte 할당

* 문자열 : 문자열 길이 + 22Byte

Dim address

Dim address As Variant


<변수의 선언 및 사용>


ㆍ 변수의 명시적(explicit) 선언

-> 명시적 선언을 지정하기 위해서는 프로그램

첫 줄에 직접 Option Explicit문을 적거나

[도구]-[옵션] 메뉴의 [편집기] 탭에서

'변수 선언 요구'를 체크하면 된다.


ㆍ변수의 명시적(explicit) 선언 방법

{Dim | Private | Public | Static} 변수명 As 자료형

예) Dim int sum As Integer

Dim str_name As String


ㆍ변수의 묵시적(implicit) 선언

선언문 없이, 변수를 문장 내에서 직접 사용


<변수의 종류(툥용범위)>


ㆍ통용 범위에 따른 종류

- 선언된 변수가 사용 가능한 문장의 범위

- 지역변수, 모듈변수, 전역변수


<지역변수>

ㆍ프로시저 안에서 선언

- 해당 프로시저 안에서만 사용가능

- 초기화 : 숫자 0, 문자 ""

Dim Name As String

<모듈변수>

ㆍ모듈 수준에서 선언

- 코드창의 (일반)-(선언)에서 선언

- 동일 모듈 내의 모든 프로시저에서 사용 가능

Private(또는 Dim) Name As String

<전역변수>

ㆍ표준 모듈을 추가하여 선언

- (일반)-(선언)에서 선언

- 폼 모듈에서 선언 -> 변수가 선언된 폼의 이름을

붙여 사용

- 프로그램의 모든 모듈간에 공통으로 사용 가능

Public Name As String


<변수의 종류(수명)>


ㆍ수명에 따른 종류

- 변수를 위해 할당된 기억공간을 차지하고 있는 시간

- 동적변수, 정적변수


<동적변수>

ㆍ모든 지역변수

- 프로시저에서 Dim으로 선언된 변수

ㆍ할당/회수

- 프로시저를 실행하는 매 순간

- 프로시저를 종료하는 순간

ㆍ재실행될 때 마다 변수의 값이 초기화

<정적변수>

ㆍ키워드 Static 사용

- Static Name As String

ㆍ할당/회수

- 프로시저를 처음 실행하는 순간

- 프로그램 종료 순간

ㆍ프로시저가 재실행되어도 이전 값을 유지


Dim D As Integer // 정수형 지역변수 D 선언

Static S As Integer // 정수형 정적변수 S 선언

D = D + 1 // 지역변수는 초기화할 때 0으로 초기화

=> 결과값은 계속 1 (0+1)

S = S + 1 // 정적변수는 값 유지

=> 1. (0+1) 2. (1+1), 3. (2+1) ....

Form1.Print D, S // 출력


<변수의 종류 정리>


<다양한 변수 선언>

-> 여러 개의 변수를 한 줄에서 모두 선언할 수 있다.

하지만 가독성을 높이기 위해 

한 줄에 하나의 변수만 선언하는 것이 좋다.

ㆍDim i

ㆍDim i, j

ㆍDim i, j As Integer

ㆍDim i As Integer, j As Integer


<상수>

상수 : 변하지 않는 수를 의미.

프로그램을 작성하다 보면 고정된

숫자나 문자열이 계속 반복적으로 

사용되는 경우가 있다.

이 고정된 숫자나 문자열에 읽기 쉬운 이름을

부여하여 사용하면 프로그램의 가독성을

높일 수 있다.


ㆍ상수의 선언 방법

[Private | Public} Const 상수명 [As 자료형] = 상수값

ex) Private Const 파이 As Single = 3.14

Private Const Pi As Double = 3.141592

Const Radius = 30

Const Str As String = "String"






반응형
profile

Limetime's TimeLine

@Limetime

포스팅이 좋았다면 "공감❤️" 또는 "구독👍🏻" 해주세요!