매개 변수를 사용하면 호출 코드가 호출할 때 프로시저에 값을 전달할 수 있습니다. 변수를 선언하는 것과 동일한 방식으로 프로시저에 대한 각 매개 변수를 선언하고 해당 이름과 데이터 형식을 지정합니다. 전달 메커니즘과 매개 변수가 선택 사항인지 여부도 지정합니다.
자세한 내용은 프로시저 매개 변수 및 인수를 참조하세요.
프로시저 매개 변수를 정의하려면
프로시저 선언에서 매개 변수 이름을 프로시저의 매개 변수 목록에 추가하여 다른 매개 변수와 쉼표로 구분합니다.
매개 변수의 데이터 형식을 결정합니다.
매개변수 이름 뒤에
As
절을 사용하여 데이터 형식을 지정합니다.매개 변수에 대해 원하는 전달 메커니즘을 결정합니다. 프로시저가 호출 코드에서 해당 값을 변경할 수 없도록 하려면 일반적으로 값으로 매개 변수를 전달합니다.
전달 메커니즘을 지정하려면 매개 변수 이름 앞에 ByVal 또는 ByRef 를 지정합니다. 자세한 내용은 값으로 인수 전달과 참조로의 차이점을 참조하세요.
매개 변수가 선택 사항인 경우 전달 메커니즘 앞에 Optional 을 추가하고 등호(
=
) 및 기본값을 사용하여 매개 변수 데이터 형식을 따릅니다.다음 예제에서는 세 개의 매개 변수를 사용하여 프로시저의 개요를
Sub
정의합니다. 처음 두 가지는 필수이고 세 번째는 선택 사항입니다. 매개 변수 선언은 매개 변수 목록에서 쉼표로 구분됩니다.Sub updateCustomer(ByRef c As customer, ByVal region As String, Optional ByVal level As Integer = 0) ' Insert code to update a customer object. End Sub
첫 번째 매개 변수는 개체를
customer
허용하며updateCustomer
인수가c
로 전달되기 때문에 전달된 변수를 직접 업데이트할 수 있습니다. 이 프로시저는 ByVal을 전달하므로 마지막 두 인수의 값을 변경할 수 없습니다.호출 코드가 매개 변수에 대한
level
값을 제공하지 않는 경우 Visual Basic은 매개 변수를 기본값 0으로 설정합니다.형식 검사 스위치(Option Strict Statement)가
Off
인 경우에 매개 변수를As
정의할 때 그 절은 선택 사항입니다. 그러나 어느 한 매개 변수가As
절을 사용하는 경우, 모두 절을 사용해야 합니다. 형식 검사 스위치가On
이면, 모든 매개 변수 정의에는As
절이 필요합니다.모든 프로그래밍 요소에 대한 데이터 형식을 지정하는 것을 강력한 입력이라고 합니다. 설정
Option Strict On
하면 Visual Basic에서 강력한 입력을 적용합니다. 이 방법은 다음과 같은 이유로 권장됩니다.이를 통해 변수 및 매개 변수에 대한 IntelliSense 지원을 사용할 수 있습니다. 이렇게 하면 코드를 입력할 때 해당 속성 및 다른 멤버를 볼 수 있습니다.
컴파일러에서 형식 검사를 수행할 수 있습니다. 이렇게 하면 오버플로 오류 등으로 인해 런타임에 실패할 수 있는 문장을 포착할 수 있습니다. 또한 메서드를 지원하지 않는 개체에 대한 호출을 포착하거나 처리합니다.
그러면 코드 실행 속도가 빨라집니다. 한 가지 이유는 프로그래밍 요소에 대한 데이터 형식을 지정하지 않으면 Visual Basic 컴파일러가 해당 형식을 할당하기 때문입니다
Object
. 컴파일된 코드는 다른 데이터 형식을Object
앞뒤로 변환해야 하므로 성능이 저하될 수 있습니다.
참고하십시오
.NET