프로시저 매개 변수 및 인수(Visual Basic)

대부분의 경우 프로시저에는 호출된 상황에 대한 몇 가지 정보가 필요합니다. 반복되거나 또는 공유되는 작업을 수행하는 프로시저는 각 호출마다 서로 다른 정보를 사용합니다. 이 정보는 프로시저를 호출할 때 프로시저에 전달하는 변수, 상수, 식으로 구성됩니다.

매개 변수는 호출 시 프로시저가 제공해야 하는 값을 나타냅니다. 프로시저의 선언은 해당 매개 변수를 정의합니다.

매개 변수가 없거나, 매개 변수 한 개이거나 또는 매개 변수가 두 개 이상인 프로시저를 정의할 수 있습니다. 매개 변수를 지정하는 프로시저 정의 부분을 매개 변수 목록이라고 합니다.

인수는 프로시저를 호출할 때 프로시저 매개 변수에 제공하는 값을 나타냅니다. 호출 코드는 프로시저를 호출할 때 인수를 제공합니다. 인수를 지정하는 프로시저 호출 부분을 인수 목록이라고 합니다.

다음 그림에서는 서로 다른 두 위치에서 프로시저 safeSquareRoot를 호출하는 코드를 보여 줍니다. 첫 번째 호출은 변수 x(4.0)의 값을 매개 변수 number에 전달하고 root(2.0)의 반환 값은 변수 y에 할당됩니다. 두 번째 호출은 리터럴 값 9.0을 number에 전달하고 반환 값(3.0)을 변수 z에 할당합니다.

Diagram that shows passing an argument to a parameter

자세한 내용은 매개 변수와 인수의 차이점을 참조하세요.

매개 변수 데이터 형식

매개 변수의 선언에서 As 절을 사용하여 매개 변수의 데이터 형식을 정의합니다. 예를 들어 다음 함수는 문자열과 정수를 허용합니다.

Function appointment(ByVal day As String, ByVal hour As Integer) As String
    ' Insert code to return any appointment for the given day and time.
    Return "appointment"
End Function

형식 검사 스위치(Option Strict 문)가 Off,인 경우 As 절은 선택 사항입니다. 단, 하나의 매개 변수가 이 절을 사용하는 경우 모든 매개 변수가 이를 사용해야 합니다. 형식 검사가 On인 경우 모든 프로시저 매개 변수에 As 절이 필요합니다.

호출 코드가 Byte와 같은 해당 매개 변수의 데이터 형식과 다른 데이터 형식의 인수를 String 매개 변수에 제공해야 하는 경우 다음 중 하나를 수행해야 합니다.

  • 매개 변수 데이터 형식으로 확장되는 데이터 형식의 인수만 제공합니다.

  • 암시적 축소 변환을 허용하도록 Option Strict Off를 설정합니다. 또는

  • 변환 키워드를 사용하여 데이터 형식을 명시적으로 변환합니다.

형식 매개 변수

제네릭 프로시저는 일반 매개 변수 외에도 하나 이상의 형식 매개 변수를 정의합니다. 제네릭 프로시저를 사용하면 호출 코드가 프로시저를 호출할 때마다 다른 데이터 형식을 전달할 수 있으므로 각 개별 호출의 요구 사항에 맞게 데이터 형식을 조정할 수 있습니다. Generic Procedures in Visual Basic을 참조하세요.

참고 항목