프로시저는 선언문(Function
, Sub
, Operator
, Get
, Set
) 및 일치하는 End
선언으로 묶인 Visual Basic 문의 블록입니다. Visual Basic의 모든 실행 문은 일부 프로시저 내에 있어야 합니다.
프로시저 호출
코드의 다른 위치에서 프로시저를 호출합니다. 이를 프로시저 호출이라고합니다. 프로시저 실행이 완료되면 호출 코드라고 하는 해당 프로시저를 호출한 코드로 컨트롤을 반환합니다. 호출 코드는 이름으로 프로시저를 지정하고 제어를 전송하는 문 또는 문 내의 식입니다.
프로시저에서 돌아오는 것
프로시저는 실행이 완료되면 호출 코드에 컨트롤을 반환합니다. 이렇게 하려면 Return 문을 사용하거나, 프로시저에 적합한 Exit 문 또는 프로시저의 End <키워드> 문을 사용할 수 있습니다. 그런 다음 제어는 프로시저 호출 지점 다음에 호출 코드로 전달됩니다.
문을 사용하면
Return
컨트롤이 호출 코드로 즉시 반환됩니다. 후속 문들은Return
문장 뒤에서 실행되지 않습니다. 하나 이상의Return
문을 동일한 프로시저에 포함할 수 있습니다.또는
Exit Sub
문을 사용하면Exit Function
컨트롤이 호출 코드로 즉시 반환됩니다. 후속 문들은Exit
문장 뒤에서 실행되지 않습니다. 동일한 프로시저에 여러Exit
문을 사용할 수 있으며, 동일한 프로시저에서Return
및Exit
문을 혼합할 수 있습니다.프로시저에
Return
또는Exit
명령문이 없으면, 프로시저 본문의 마지막 문에 이어서End Sub
또는End Function
,End Get
, 또는End Set
명령문으로 결론을 내립니다. 이 문은End
호출 코드에 즉시 컨트롤을 반환합니다. 프로시저에는End
문이 하나만 있을 수 있습니다.
매개 변수 및 인수
대부분의 경우 프로시저는 호출할 때마다 서로 다른 데이터에 대해 작동해야 합니다. 프로시저 호출의 일부로 이 정보를 프로시저에 전달할 수 있습니다. 프로시저는 0개 이상의 매개 변수를 정의하며, 각 매개 변수는 전달해야 하는 값을 나타냅니다. 프로시저 정의의 각 매개 변수에 해당하는 인수는 프로시저 호출의 인수 입니다. 인수는 지정된 프로시저 호출에서 해당 매개 변수에 전달하는 값을 나타냅니다.
프로시저 유형
Visual Basic은 다음과 같은 여러 유형의 프로시저를 사용합니다.
하위 프로시저는 작업을 수행하지만 호출 코드에 값을 반환하지 않습니다.
이벤트 처리 프로시저는
Sub
사용자 작업 또는 프로그램에서 발생한 이벤트에 대한 응답으로 실행되는 프로시저입니다.함수 프로시저는 호출 코드에 값을 반환합니다. 그들은 반환하기 전에 다른 작업을 수행할 수 있습니다.
C#으로 작성된 일부 함수는 참조 반환 값을 반환합니다. 함수 호출자는 반환 값을 수정할 수 있으며 이 수정 내용은 호출된 개체의 상태에 반영됩니다. Visual Basic 2017부터 Visual Basic 코드는 참조 반환 값을 사용할 수 있지만, 자체적으로 값을 참조로 반환할 수는 없습니다. 자세한 내용은 참조 반환 값을 참조하세요.
속성 프로시저는 개체 또는 모듈의 속성 값을 반환하고 할당합니다.
연산자 프로시저는 피연산자 중 하나 또는 둘 다 새로 정의된 클래스 또는 구조체인 경우 표준 연산자의 동작을 정의합니다.
Visual Basic의 제네릭 프로시저는 일반 매개 변수 외에도 하나 이상의 형식 매개 변수 를 정의하므로 호출 코드는 호출할 때마다 특정 데이터 형식을 전달할 수 있습니다.
프로시저 및 구조적 코드
애플리케이션의 모든 실행 코드 줄은 다음과 같은 Main
calculate
Button1_Click
일부 프로시저 내에 있어야 합니다. 큰 프로시저를 더 작은 프로시저로 세분화하면 애플리케이션을 더 쉽게 읽을 수 있습니다.
프로시저는 자주 사용되는 계산, 텍스트 및 컨트롤 조작 및 데이터베이스 작업과 같은 반복 또는 공유 작업을 수행하는 데 유용합니다. 코드의 여러 위치에서 프로시저를 호출할 수 있으므로 프로시저를 애플리케이션의 구성 요소로 사용할 수 있습니다.
프로시저를 사용하여 코드를 구조화하면 다음과 같은 이점이 제공됩니다.
프로시저를 사용하면 프로그램을 개별 논리 단위로 분리할 수 있습니다. 프로시저 없이 전체 프로그램을 디버그할 수 있는 것보다 더 쉽게 별도의 단위를 디버그할 수 있습니다.
한 프로그램에서 사용할 수 있는 프로시저를 개발한 후 다른 프로그램에서 사용할 수 있으며, 수정이 거의 또는 전혀 없는 경우가 많습니다. 이렇게 하면 코드 중복을 방지할 수 있습니다.
참고하십시오
.NET