프로시저 매개 변수 및 인수
업데이트: 2007년 11월
대부분의 경우 프로시저에는 프로시저를 호출한 환경에 대한 정보가 제공되어야 합니다. 반복적인 작업이나 공유 작업을 수행하는 프로시저는 각 호출에 대해 서로 다른 정보를 사용합니다. 이 정보는 프로시저가 호출될 때 프로시저로 전달되는 변수, 상수 및 식으로 구성됩니다.
매개 변수는 프로시저를 호출할 때 프로시저에 제공해야 하는 값입니다. 프로시저의 선언에 해당 매개 변수가 정의됩니다.
매개 변수 없이 또는 하나 또는 그 이상의 매개 변수를 사용하여 프로시저를 정의할 수 있습니다. 프로시저에서 매개 변수가 정의되는 부분을 매개 변수 목록이라고 합니다.
인수는 프로시저를 호출할 때 프로시저 매개 변수에 제공하는 값입니다. 호출 코드는 프로시저를 호출할 때 인수를 제공합니다. 프로시저 호출에서 인수가 지정되는 부분을 인수 목록이라고 합니다.
다음은 서로 다른 두 위치에서 safeSquareRoot 프로시저를 호출하는 코드에 대한 설명입니다. 첫 번째 호출에서는 x 변수 값(4.0)을 number 매개 변수에 전달하고 root의 반환 값(2.0)을 y 변수에 할당합니다. 두 번째 호출에서는 리터럴 값 9.0을 number에 전달하고 반환 값(3.0)을 z 변수에 할당합니다.
매개 변수에 인수 전달
자세한 내용은 매개 변수와 인수의 차이점을 참조하십시오.
매개 변수 데이터 형식
매개 변수 선언에서 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 절을 사용해야 합니다.
호출 코드에서 해당 매개 변수의 형식과 다른 형식의 인수를 지정해야 하는 경우(예: String 매개 변수에 Byte 지정)에는 다음 중 하나를 수행해야 합니다.
매개 변수 데이터 형식으로 확대 변환되는 데이터 형식의 인수만 지정합니다.
암시적 축소 변환이 가능하도록 Option Strict Off를 설정합니다.
변환 키워드를 사용하여 데이터 형식을 명시적으로 변환합니다.
형식 매개 변수
제네릭 프로시저도 일반 매개 변수 외에 하나 이상의 형식 매개 변수를 정의합니다. 제네릭 프로시저를 사용하면 호출 코드에서 프로시저를 호출할 때마다 다른 데이터 형식을 전달할 수 있으므로 각 개별 호출의 요구 사항에 맞게 데이터 형식을 조정할 수 있습니다. Visual Basic의 제네릭 프로시저를 참조하십시오.