VB.NET 변수와 데이터형

2023. 8. 4. 17:49VB.NET/기초강좌

변수는 VB.NET 뿐만 아니라 모든 개발 언어에서 사용하는 가장 중요한 개념 중 하나이며, 반드시 데이터형을 갖고 있다. 흔히들 말하는 정수형 변수, 문자형 변수 등 모든 변수는 반드시 데이터형과 같이 선언하고 사용해야 한다.

VB.NET에서 지원하는 데이터형

Boolean, Byte, Char, Date, Decimal, Double, Integer, Long, Object, SByte, Short, Single, String, UInteger, ULong, UShort 등인데, 사실 서로 겹치는 부분도 많고, 귀차니즘도 많이 작용하기도 하고, 예전 도스 시절과 달리 메모리 관리를 타이트하게 할 필요성이 별로 없기 때문에 이들 중 몇개만 사용하게 된다.

주로 사용되는 변수형은 Boolean, Byte, Date, Integer, Long, Double, String 정도이니 이들의 특징을 알아보자.

Boolean - True/False
Byte - 1바이트
Date - 날짜/시간
Integer - 정수형
Long - 정수보다 큰 수
Double - 소수점이 필요할때 사용
String - 문자열

변수의 크기, 범위나 최대값, 최소값등 세세한 내용은 검색해보면 나올 것이고, 여기서는 대략 어떤 데이터형이 있고, 이들 데이터형이 어떻게 사용되는지 정도만 숙지하도록 하자. 변수는 연산을 하거나, 함수 호출시 반환값을 받는 등의 용도로 가장 많이 사용되는데 아래 간략한 예제를 보자.

Dim int1 As Integer = 10, int2 As Integer = 5
Dim int3 = int1 + int2

비록 2줄로 이루어진 소스이지만 제법 설명할게 있으니 하나 하나 알아가보자.

1. Dim

VB.NET에서는 변수를 선언할때 Dim을 사용한다. 물론 추후 Private, Public등 변수의 사용 범위에 따라서 선언자가 더 많아지기는 하지만, 일단 현재 함수 범위내에서 변수를 사용하기 위해서는 Dim으로 선언해야 한다.

2. As Integer

int1 이라는 변수를 정수형으로 선언한다는 의미이다. VB.NET에서 변수를 선언할때의 형식은 모두 이와 동일하다.

[Dim 변수명 As 데이터형] 의 형식으로 변수를 선언하도록 VB.NET의 문법이 정해져 있으니 이 부분은 그냥 받아들이기로 하자.

3. = 10

VB.NET에서는 변수를 선언하면서 동시에 값을 할당할 수가 있다. 이게 C++이나 Java 같이 다른 언어들은 예전부터 지원하던 기능이었는데 Visual Basic은 닷넷에 와서야 지원하기 시작했기 때문에 예전부터 VB를 사용했던 개발자들에게는 아주 좋은 기능이 추가됐다고 볼 수 있다.

4. , (콤마)

이 콤마가 엄청 중요한게 여러개의 변수를 선언할때 한줄로 선언이 가능해졌다. 여기서는 값을 할당하기 위해 As Integer라는 형을 각각 써줬지만, 그냥 선언만 하려면 아래와 같이 써주면 된다.

Dim int1, int2 As Integer

이렇게 사용할 수가 있는 것이다. 예전 VB에서는 이렇게 선언하면 int1은 variant형으로 인식했지만, VB.NET에서는 int1, int2 모두 Integer 형으로 인식하게 된다.

이 콤마로 인해 위에 설명했던 변수 선언의 규칙이 [Dim 변수명1, 변수명2, ..., 변수명n As 데이터형]의 형식도 사용할 수 있게 되었다.

5. Dim int3 = int1 + int2

여기서는 int3이라는 변수를 선언하면서 int1 + int2의 결과인 15를 할당하게 된다. 이때 As Integer가 생략됐지만, 뒤에 계산식이 두개의 정수형 변수를 더하는 것이니 int3도 정수형으로 선언되게 된다. 물론 아래와 같이 명시적으로 형을 적어줘도 된다.

Dim int3 As Integer = int1 + int2

 

마치며...

이상 VB.NET에서의 변수와 데이터형에 대해 간략히 알아봤다. 웬만한 데이터형은 기본적인 산술연산자로 계산을 할 수 있지만 특이하게 String이라는 문자열 데이터형이 있는데 숫자가 아닌 문자열이다보니 연산자도 조금 다르고 결과값도 원하는것과 다르니 다음 시간에 String에 대해 자세히 알아보도록 하자.

반응형