다음을 통해 공유


매개 변수 목록

업데이트: 2007년 11월

프로시저를 호출할 때 프로시저에 필요한 매개 변수를 지정합니다. 매개 변수가 여러 개 있으면 쉼표로 구분됩니다. 다음은 단일 매개 변수 구문입니다.

[ <attributelist> ] [ Optional ] [{ ByVal | ByRef }] [ ParamArray ] 
parametername[( )] [ As parametertype ] [ = defaultvalue ]

구성 요소

  • attributelist
    선택적 요소. 이 매개 변수에 적용되는 특성의 목록입니다. 특성 목록은 꺾쇠괄호("<" 및 ">")로 묶어야 합니다.

  • Optional
    선택적 요소. 프로시저를 호출할 때 이 매개 변수가 필수적 요소가 아님을 지정합니다.

  • ByVal
    선택적 요소. 호출 코드의 내부 인수로 사용하는 변수 요소를 바꾸거나 다시 할당할 수 없도록 지정합니다.

  • ByRef
    선택적 요소. 프로시저에서 호출 코드 자체에서 수행되는 방식으로 호출 코드의 내부 변수 요소를 수정할 수 있도록 지정합니다.

  • ParamArray
    선택적 요소. 매개 변수 목록의 마지막 매개 변수가 지정된 데이터 형식의 선택적 요소 배열임을 지정합니다. 호출 코드에서 이를 사용하면 프로시저에 임의의 여러 인수를 전달할 수 있습니다.

  • parametername
    필수적 요소. 인수를 나타내는 로컬 변수의 이름입니다.

  • parametertype
    Option Strict가 On이면 필수적 요소입니다. 인수를 나타내는 로컬 변수의 데이터 형식입니다.

  • defaultvalue
    Optional 매개 변수에 필수적인 요소입니다. 해당 매개 변수의 데이터 형식으로 계산되는 임의의 상수 또는 상수 식입니다. 형식이 Object이거나 클래스, 인터페이스, 배열 또는 구조체인 경우 기본값은 Nothing만 될 수 있습니다.

설명

매개 변수를 괄호로 묶어 쉼표로 구분합니다. 매개 변수는 원하는 데이터 형식으로 선언할 수 있습니다. parametertype을 지정하지 않은 경우 기본값으로 Object가 사용됩니다.

호출 코드는 프로시저를 호출하는 경우 필요한 각 매개 변수에 인수를 전달합니다. 자세한 내용은 매개 변수와 인수의 차이점을 참조하십시오.

호출 코드가 각 매개 변수에 전달하는 인수는 호출 코드의 내부 요소에 대한 포인터입니다. 비가변 요소(상수, 리터럴, 열거형, 식 등)는 코드에서 변경할 수 없지만 가변 요소(선언된 변수, 필드, 속성, 배열 요소, 구조체 요소 등)는 호출 코드에서 변경할 수 있습니다. 자세한 내용은 수정할 수 있는 인수와 수정할 수 없는 인수 사이의 차이점을 참조하십시오.

가변 요소가 ByRef로 전달되는 경우 프로시저에서 해당 요소를 변경할 수도 있습니다. 자세한 내용은 인수를 값으로 전달할 때와 참조로 전달할 때의 차이점을 참조하십시오.

규칙

  • 괄호. 매개 변수 목록을 지정하는 경우 괄호로 묶어야 합니다. 매개 변수가 없는 경우에도 괄호를 사용하여 빈 목록을 묶을 수 있습니다. 이렇게 하면 해당 요소가 프로시저임이 명확해지므로 코드를 보다 쉽게 읽을 수 있습니다.

  • 선택적 매개 변수. 매개 변수에 Optional 한정자를 사용하는 경우 목록의 모든 후속 매개 변수는 선택적 요소이므로 Optional 한정자를 사용하여 선언되어야 합니다.

    모든 선택적 매개 변수 선언에는 defaultvalue 절을 사용해야 합니다.

  • 매개 변수 배열. ByVal을 ParamArray 매개 변수에 지정해야 합니다.

    한 매개 변수 목록에 Optional와 ParamArray를 모두 사용할 수는 없습니다.

  • 전달 메커니즘. 모든 인수의 기본 메커니즘은 ByVal이므로 프로시저가 내부 변수 요소를 변경할 수 없습니다. 요소가 참조 형식인 경우 프로시저가 내부 개체 자체를 바꾸거나 다시 할당할 수 없지만 내부 개체의 내용이나 멤버는 수정할 수 있습니다.

  • 매개 변수 이름. 매개 변수의 데이터 형식이 배열인 경우 parametername 바로 뒤에 괄호가 표시됩니다. 매개 변수 이름에 대한 자세한 내용은 선언 요소 이름을 참조하십시오.

예제

다음 예제에서는 두 매개 변수를 정의하는 Function 프로시저를 보여 줍니다.

Public Function howMany(ByVal ch As Char, ByVal st As String) As Integer
End Function
Dim howManyA As Integer = howMany("a"c, "How many a's in this string?")

참고 항목

작업

방법: 코드에서 문 분리 및 결합

개념

특성의 적용

참조

Function 문(Visual Basic)

Sub 문(Visual Basic)

Declare 문

Structure 문

Option Strict 문

DllImportAttribute

기타 리소스

Visual Basic의 특성