매개 변수 목록(Visual Basic)Parameter List (Visual Basic)

프로시저를 호출할 때 프로시저에 필요한 매개 변수를 지정 합니다.Specifies the parameters a procedure expects when it is called. 여러 매개 변수는 쉼표로 구분 됩니다.Multiple parameters are separated by commas. 다음은 하나의 매개 변수에 대 한 구문입니다.The following is the syntax for one parameter.

SyntaxSyntax

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

부분Parts

attributelist
선택 사항입니다.Optional. 이 매개 변수에 적용 되는 특성의 목록입니다.List of attributes that apply to this parameter. 특성 목록을 꺾쇠 괄호 (" < " 및 "")로 묶어야 합니다 > .You must enclose the Attribute List in angle brackets ("<" and ">").

Optional
선택 사항입니다.Optional. 프로시저를 호출할 때이 매개 변수가 필요 하지 않도록 지정 합니다.Specifies that this parameter is not required when the procedure is called.

ByVal
선택 사항입니다.Optional. 프로시저에서 호출 코드의 해당 인수를 기반으로 하는 변수 요소를 바꾸거나 다시 할당할 수 없도록 지정 합니다.Specifies that the procedure cannot replace or reassign the variable element underlying the corresponding argument in the calling code.

ByRef
선택 사항입니다.Optional. 호출 하는 코드와 같은 방식으로 프로시저에서 호출 코드의 기본 변수 요소를 수정할 수 있도록 지정 합니다.Specifies that the procedure can modify the underlying variable element in the calling code the same way the calling code itself can.

ParamArray
선택 사항입니다.Optional. 매개 변수 목록의 마지막 매개 변수가 지정 된 데이터 형식의 선택적 요소 배열 임을 지정 합니다.Specifies that the last parameter in the parameter list is an optional array of elements of the specified data type. 이를 통해 호출 코드는 프로시저에 임의 개수의 인수를 전달할 수 있습니다.This lets the calling code pass an arbitrary number of arguments to the procedure.

parametername
필수 사항입니다.Required. 매개 변수를 나타내는 지역 변수의 이름입니다.Name of the local variable representing the parameter.

parametertype
필요한 경우 Option StrictOn합니다.Required if Option Strict is On. 매개 변수를 나타내는 지역 변수의 데이터 형식입니다.Data type of the local variable representing the parameter.

defaultvalue
Optional매개 변수에 필요 합니다.Required for Optional parameters. 매개 변수의 데이터 형식으로 계산 되는 상수 또는 상수 식입니다.Any constant or constant expression that evaluates to the data type of the parameter. 형식이 Object 나 클래스, 인터페이스, 배열 또는 구조 이면 기본값은 일 수만 있습니다 Nothing .If the type is Object, or a class, interface, array, or structure, the default value can only be Nothing.

설명Remarks

매개 변수는 괄호로 묶고 쉼표로 구분 됩니다.Parameters are surrounded by parentheses and separated by commas. 모든 데이터 형식을 사용 하 여 매개 변수를 선언할 수 있습니다.A parameter can be declared with any data type. 을 지정 하지 않으면 기본적 parametertype 으로로 설정 Object 됩니다.If you do not specify parametertype, it defaults to Object.

호출 하는 코드는 프로시저를 호출할 때 각 필수 매개 변수에 인수 를 전달 합니다.When the calling code calls the procedure, it passes an argument to each required parameter. 자세한 내용은 매개 변수와 인수 간의 차이점을 참조 하세요.For more information, see Differences Between Parameters and Arguments.

호출 코드에서 각 매개 변수에 전달 하는 인수는 호출 코드의 내부 요소에 대 한 포인터입니다.The argument the calling code passes to each parameter is a pointer to an underlying element in the calling code. 이 요소가 비가변 (상수, 리터럴, 열거형 또는 식) 인 경우 코드를 변경 하는 것은 불가능 합니다.If this element is nonvariable (a constant, literal, enumeration, or expression), it is impossible for any code to change it. 변수 요소 (선언 된 변수, 필드, 속성, 배열 요소 또는 구조체 요소) 인 경우 호출 코드에서이를 변경할 수 있습니다.If it is a variable element (a declared variable, field, property, array element, or structure element), the calling code can change it. 자세한 내용은 수정 가능 인수와 수정할 가능성이 없는 인수 간의 차이점을 참조 하세요.For more information, see Differences Between Modifiable and Nonmodifiable Arguments.

변수 요소가 전달 되는 경우에 ByRef 도 프로시저에서 변경할 수 있습니다.If a variable element is passed ByRef, the procedure can change it as well. 자세한 내용은 값으로 인수를 전달 하는 것과 참조로 인수를 전달 하는 차이점을 참조 하세요.For more information, see Differences Between Passing an Argument By Value and By Reference.

규칙Rules

  • 괄호.Parentheses. 매개 변수 목록을 지정 하는 경우 괄호로 묶어야 합니다.If you specify a parameter list, you must enclose it in parentheses. 매개 변수가 없는 경우에도 빈 목록에 괄호를 사용할 수 있습니다.If there are no parameters, you can still use parentheses enclosing an empty list. 이렇게 하면 요소가 프로시저 임을 명확 하 게 하 여 코드의 가독성을 향상 시킬 수 있습니다.This improves the readability of your code by clarifying that the element is a procedure.

  • 선택적 매개 변수입니다.Optional Parameters. 매개 변수에 한정자를 사용 하는 경우 Optional 목록에 있는 모든 후속 매개 변수도 선택적 이어야 하며 한정자를 사용 하 여 선언 해야 합니다 Optional .If you use the Optional modifier on a parameter, all subsequent parameters in the list must also be optional and be declared by using the Optional modifier.

    모든 선택적 매개 변수 선언에서 절을 제공 해야 합니다 defaultvalue .Every optional parameter declaration must supply the defaultvalue clause.

    자세한 내용은 선택적 매개 변수를 참조 하세요.For more information, see Optional Parameters.

  • 매개 변수 배열.Parameter Arrays. ByVal매개 변수의 경우를 지정 해야 ParamArray 합니다.You must specify ByVal for a ParamArray parameter.

    Optional ParamArray 동일한 매개 변수 목록에서 및를 모두 사용할 수는 없습니다.You cannot use both Optional and ParamArray in the same parameter list.

    자세한 내용은 매개 변수 배열을 참조 하세요.For more information, see Parameter Arrays.

  • 전달 메커니즘입니다.Passing Mechanism. 모든 인수에 대 한 기본 메커니즘은 이며 ByVal 프로시저에서 기본 변수 요소를 변경할 수 없음을 의미 합니다.The default mechanism for every argument is ByVal, which means the procedure cannot change the underlying variable element. 그러나 요소가 참조 형식인 경우 프로시저는 개체 자체를 바꾸거나 재할당할 수 없더라도 기본 개체의 내용이 나 멤버를 수정할 수 있습니다.However, if the element is a reference type, the procedure can modify the contents or members of the underlying object, even though it cannot replace or reassign the object itself.

  • 매개 변수 이름.Parameter Names. 매개 변수의 데이터 형식이 배열인 경우 괄호를 따라 즉시 수행 parametername 합니다.If the parameter's data type is an array, follow parametername immediately by parentheses. 매개 변수 이름에 대 한 자세한 내용은 선언 된 요소 이름을 참조 하세요.For more information on parameter names, see Declared Element Names.

예제Example

다음 예에서는 Function 두 개의 매개 변수를 정의 하는 프로시저를 보여 줍니다.The following example shows a Function procedure that defines two parameters.

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?")

참고 항목See also