Function 프로시저(Visual Basic)
Function
프로시저는 Function
및 End Function
문으로 묶인 일련의 Visual Basic 문입니다. Function
프로시저는 작업을 수행한 다음 호출 코드에 제어를 반환합니다. 제어를 반환할 때 호출 코드에도 값을 반환합니다.
프로시저가 호출될 때마다 해당 문은 Function
문 다음의 첫 번째 실행 가능 문부터 시작하여 처음 발견된 End Function
, Exit Function
또는 Return
문으로 끝납니다.
모듈, 클래스 또는 구조에서 Function
프로시저를 정의할 수 있습니다. 기본적으로는 Public
입니다. 이는 정의한 모듈, 클래스 또는 구조에 액세스할 수 있는 애플리케이션의 어느 곳에서나 이를 호출할 수 있음을 의미합니다.
Function
프로시저는 호출 코드에 의해 전달되는 상수, 변수 또는 식과 같은 인수를 사용할 수 있습니다.
선언 구문
Function
프로시저를 선언하는 구문은 다음과 같습니다.
[Modifiers] Function FunctionName [(ParameterList)] As ReturnType
[Statements]
End Function
한정자는 오버로드, 재정의, 공유 및 섀도잉에 관한 액세스 수준과 정보를 지정할 수 있습니다. 자세한 내용은 함수 문을 참조하세요.
하위 프로시저와 동일한 방식으로 각 매개 변수를 선언합니다.
데이터 형식
모든 Function
프로시저에는 모든 변수와 마찬가지로 데이터 형식이 있습니다. 이 데이터 형식은 Function
문의 As
절에 의해 지정되며 함수가 호출 코드에 반환하는 값의 데이터 형식을 결정합니다. 다음 샘플 선언은 이를 보여 줍니다.
Function Yesterday() As Date
End Function
Function FindSqrt(radicand As Single) As Single
End Function
자세한 내용은 함수 문의 "파트"를 참조하세요.
값 반환
Function
프로시저가 호출 코드로 다시 보내는 값을 반환 값이라고 합니다. 프로시저는 다음 두 가지 방법 중 하나로 이 값을 반환합니다.
Return
문을 사용하여 반환 값을 지정하고 호출 프로그램에 즉시 제어를 반환합니다. 다음 예제에서는 이것을 보여 줍니다.Function FunctionName [(ParameterList)] As ReturnType ' The following statement immediately transfers control back ' to the calling code and returns the value of Expression. Return Expression End Function
하나 이상의 프로시저 문에서 자체 함수 이름에 값을 할당합니다.
Exit Function
또는End Function
문이 실행될 때까지 제어는 호출 프로그램으로 반환되지 않습니다. 다음 예제에서는 이것을 보여 줍니다.Function FunctionName [(ParameterList)] As ReturnType ' The following statement does not transfer control back to the calling code. FunctionName = Expression ' When control returns to the calling code, Expression is the return value. End Function
함수 이름에 반환 값을 할당하면 제어가 Exit Function
또는 End Function
문을 만날 때까지 프로시저에서 반환되지 않는다는 이점이 있습니다. 이를 통해 예비 값을 할당하고 필요한 경우 나중에 조정할 수 있습니다.
값 반환에 대한 자세한 내용은 함수 문을 참조하세요. 배열 반환에 대한 자세한 내용은 배열을 참조하세요.
호출 구문
대입문 오른쪽이나 식에 해당 이름과 인수를 포함하여 Function
프로시저를 호출합니다. 선택 사항이 아닌 모든 인수에 대해 값을 제공해야 하며 인수 목록을 괄호로 묶어야 합니다. 인수가 제공되지 않으면 선택적으로 괄호를 생략할 수 있습니다.
Function
프로시저 호출 구문은 다음과 같습니다.
lvalue =
functionname [(
argumentlist )]
If ((
functionname [(
argumentlist )] / 3) <=
expression ) Then
Function
프로시저를 호출할 때 해당 반환 값을 사용할 필요가 없습니다. 그렇지 않으면 함수의 모든 작업이 수행되지만 반환 값은 무시됩니다. MsgBox는 종종 이런 방식으로 호출됩니다.
선언 및 호출의 그림
다음 Function
프로시저는 다른 두 변의 값을 바탕으로 직각삼각형의 가장 긴 변, 즉 빗변을 계산합니다.
Function Hypotenuse(side1 As Double, side2 As Double) As Double
Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function
다음 예에서는 hypotenuse
에 대한 일반적인 호출을 보여 줍니다.
Dim testLength, testHypotenuse As Double
testHypotenuse = Hypotenuse(testLength, 10.7)
참고 항목
.NET