다음을 통해 공유


매개 변수 목록(Visual Basic)

프로시저가 호출될 때 예상되는 매개 변수를 지정합니다. 여러 매개 변수는 쉼표로 구분됩니다. 다음은 하나의 매개 변수에 대한 구문입니다.

구문

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

부분

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

Optional
선택 사항. 프로시저가 호출될 때 이 매개 변수가 필요하지 않음을 지정합니다.

ByVal
선택 사항. 프로시저가 호출 코드에서 해당 인수의 기본 변수 요소를 바꾸거나 다시 할당할 수 없음을 할당합니다.

ByRef
선택 사항. 호출 코드 자체와 동일한 방식으로 프로시저가 호출 코드의 기본 변수 요소를 수정할 수 있음을 지정합니다.

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

parametername
필수입니다. 매개 변수를 나타내는 지역 변수의 이름입니다.

parametertype
Option StrictOn인 경우 필수입니다. 매개 변수를 나타내는 지역 변수의 데이터 형식입니다.

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

설명

매개 변수는 괄호로 묶이고 쉼표로 구분됩니다. 매개 변수는 모든 데이터 형식으로 선언될 수 있습니다. parametertype을 지정하지 않으면 기본값은 Object입니다.

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

호출 코드가 각 매개 변수에 전달하는 인수는 호출 코드의 기본 요소에 대한 포인터입니다. 이 요소가 변수가 아닌(상수, 리터럴, 열거형 또는 식) 경우 어떤 코드에서도 이를 변경할 수 없습니다. 변수 요소(선언된 변수, 필드, 속성, 배열 요소 또는 구조체 요소)인 경우 호출 코드가 이를 변경할 수 있습니다. 자세한 내용은 수정 가능한 인수와 수정 불가능한 인수의 차이점을 참조하세요.

변수 요소가 ByRef로 전달되면 프로시저에서도 이를 변경할 수 있습니다. 자세한 내용은 값별 인수 전달과 참조별 인수 전달의 차이점을 참조하세요.

규칙

  • 괄호. 매개 변수 목록을 지정하는 경우 이를 괄호로 묶어야 합니다. 매개 변수가 없는 경우에도 빈 목록을 묶는 괄호를 사용할 수 있습니다. 이렇게 하면 요소가 프로시저임을 명확히 하여 코드의 가독성이 개선됩니다.

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

    모든 선택적 매개 변수 선언은 defaultvalue 절을 제공해야 합니다.

    자세한 내용은 선택적 매개 변수를 참조하세요.

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

    동일한 매개 변수 목록에서 OptionalParamArray를 모두 사용할 수 없습니다.

    자세한 내용은 매개 변수 배열을 참조하세요.

  • 통과 메커니즘. 모든 인수의 기본 메커니즘은 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?")

참고 항목