VB.NET에서의 변수 선언

2022. 11. 15. 20:11VB.NET

VB.NET은 기존 VB6에 비해 정말 많이 변했지만 그중 변수선언의 유연함이 아주 맘에 든다. C#과 호환을 위해서 그랬겠지만 어찌됐건 많이 좋아졌다.

도대체 뭐가 변했을까? 필자가 아는 한도내에서 하나씩 차근차근 알아보자.

1. 기본 - 기본은 기존 VB6이랑 동일하다.
 

Dim strVar As String

   그냥 변수 하나를 선언하면 된다. 사실 이렇게만 사용해도 상관없겠지만 뭔가 아쉬움이 남는데 두개 연속으로 선언하면 어떨까?

2. 동일한 형으로 두개 이상의 선언   
 

Dim strVar1, strVar2 As String

   여기서 벌써 VB6과의 차이점이 생겼다. VB6에서 위와같이 선언하면 myVar1은 Variant형으로, myVar2는 String형으로 선언됐다. 참 말도 안되지만 그땐 그랬다. 여기서 Variant형은 VB.NET의 Object형이라고 생각하면 된다. 내부적으로는 많이 다르겠지만 어찌됐건 모든 형을 대표하는 형으로 취급할수 있으니 말이다.
   하지만 VB.NET에서는 myVar1, myVar2는 모두 String형이 된다.
  
3. 서로 다른 형으로 선언 

Dim intVar As Integer, strVar As String

   이것도 VB6과 동일하다.


4. 이것저것 짬뽕으로 선언 

Dim intVar1, intVar2 As Integer, strVar1, strVar2 As String

   개인적으로 이 기능이 정말 맘에 든다. 이 경우 intVar1, intVar2는 Integer형으로, strVar1, strVar2는 String형으로 선언된다. 위와같이 선언할 경우 VB6에서는 intVar1, strVar1은 Variant형으로, intVar2는 Integer형, strVar2는 String형으로 선언됐다. 한마디로 이렇게 사용하지 말라는 의미다.


5. 선언과 동시에 초기화 - 캬~ 

Dim intVar1 As Integer = 0, intVar2 = 0, strVar1 = "str1", strVar2 As String = "str2"

   이게 다 된다. 이거 정말 좋다. 이렇게 한줄로 써도 다 알아서 된다. 닷넷으로 시작한 사람들은 못느끼겠지만, 필자처럼 옛날 VB6 시절부터 사용하던 사람들은 진짜 격세지감을 느낄만하다. 비베에서 이런게 된다니 ㅋㅋㅋ C++ 쓰면서 항상 비베의 이부분이 아쉬웠던 기억이 나네요. ㅋ

 

VB.NET이 포인터를 못쓰니 C#보다 떨어진다고는 하지만 웬만한 프로젝트는 모두다 작성이 가능하니 접근이 쉬운 VB.NET을 활용하는것도 괜찮을듯 싶다.

반응형