다음을 통해 공유


코드의 특수 문자

업데이트: 2007년 11월

간혹 알파벳 또는 숫자가 아닌 문자인 특수 문자를 코드에 사용해야 할 수 있습니다. Visual Basic 문자 집합의 문장 부호와 특수 문자는 프로그램 텍스트 구성에서 컴파일러 또는 컴파일된 프로그램이 수행한 작업의 정의에 이르기까지 다양한 용도로 사용됩니다. 이러한 특수 문자는 수행할 작업을 지정하지 않습니다.

괄호

Sub 또는 Function 등의 프로시저를 정의할 때는 괄호를 사용합니다. 모든 프로시저 인수 목록은 괄호로 묶어야 합니다. 특히 복잡한 식에서 연산자 우선 순위의 기본 순서를 무시하려는 경우 변수 또는 인수를 논리 그룹에 삽입할 때 괄호를 사용할 수도 있습니다. 다음은 이에 대한 예입니다.

Dim a, b, c, d, e As Double
a = 3.2
b = 7.6
c = 2
d = b + c / a
e = (b + c) / a

앞의 코드에서 d 값은 8.225로 e 값은 3으로 실행합니다. d 계산은 / 다음에 +를 연산하는 기본 우선 순위를 사용하며 d = b + (c / a)와 같습니다. e 계산에 있는 괄호는 기본 우선 순위를 무시합니다.

구분 기호

구분 기호는 이 이름에서 알 수 있듯이 코드를 여러 섹션으로 구분합니다. Visual Basic에서는 콜론(:)을 구분 문자로 사용합니다. 구분 기호를 사용하면 별도의 줄이 아니라 한 줄에 여러 개의 문을 포함할 수 있어 공간을 절약하고 코드를 쉽게 읽을 수 있습니다. 다음 예제에서는 콜론으로 구분된 세 개의 문을 보여 줍니다.

a = 3.2 : b = 7.6 : c = 2

연결 연산

문자열을 서로 연결하는 경우에는 & 연산자를 사용합니다. 이 연산자를 숫자 값을 서로 더하는 + 연산자와 혼동하지 마십시오. 숫자 값에 대해 연산을 수행할 때 + 연산자를 사용하여 연결하면 잘못된 결과가 발생할 수 있습니다. 다음 코드에서는 이 작업에 대해 설명합니다.

var1 = "10.01"
var2 = 11
resultA = var1 + var2
resultB = var1 & var2

앞의 코드에서 resultA 값은 21.01로 resultB 값은 "10.0111"로 실행합니다.

멤버 액세스 연산자

형식 멤버에 액세스하려면 형식 이름과 멤버 이름 사이에 점(.) 또는 느낌표(!) 연산자를 사용합니다.

점(.) 연산자

클래스, 구조체, 인터페이스 또는 열거형에서는 . 연산자를 멤버 액세스 연산자로 사용합니다. 멤버는 필드, 속성, 이벤트 또는 메서드일 수 있습니다. 다음은 이에 대한 예입니다.

Dim nextForm As New System.Windows.Forms.Form
' Access Text member (property) of Form class (on nextForm object).
nextForm.Text = "This is the next form"
' Access Close member (method) on nextForm.
nextForm.Close()

느낌표(!) 연산자

클래스나 인터페이스에서는 ! 연산자를 사전 액세스 연산자로 사용합니다. 클래스나 인터페이스는 단일 String 인수를 허용하는 기본 속성을 가져야 합니다. ! 연산자 바로 뒤의 식별자는 기본 속성에 문자열로 전달되는 인수 값이 됩니다. 다음 코드에서는 이 작업에 대해 설명합니다.

Public Class hasDefault
  Default Public ReadOnly Property index(ByVal s As String) As Integer
    Get
      Return 32768 + AscW(s)
    End Get
  End Property
End Class
Public Class testHasDefault
  Public Sub compareAccess()
    Dim hD As hasDefault = New hasDefault()
    MsgBox("Traditional access returns " & hD.index("X") & vbCrLf & _
      "Default property access returns " & hD("X") & vbCrLf & _
      "Dictionary access returns " & hD!X)
  End Sub
End Class

MsgBox의 출력 세줄은 모두 값 32856을 표시합니다. 첫째 줄에서는 index 속성에 대한 일반적인 액세스를 사용하고 둘째 줄에서는 index가 hasDefault 클래스의 기본 속성이라는 사실을 이용하며 셋째 줄에서는 클래스에 대한 사전 액세스를 사용합니다.

! 연산자의 두 번째 피연산자는 큰따옴표(" ")로 묶지 않은 유효한 Visual Basic 식별자여야 합니다. 즉, 문자열 리터럴이나 문자열 변수를 사용할 수 없습니다. MsgBox 호출의 마지막 줄을 다음과 같이 변경하면 "X"가 문자열 리터럴로 묶여 오류가 발생합니다.

"Dictionary access returns " & hD!"X")

참고:

기본 컬렉션에 대한 참조는 명시적이어야 합니다. 특히, 런타임에 바인딩되는 변수에 대해서는 ! 연산자를 사용할 수 없습니다.

! 문자는 Single 형식 문자로도 사용될 수 있습니다.

참고 항목

개념

형식 문자

기타 리소스

프로그램 구조 및 코드 규칙