(13) 프로시저
ㆍ프로시저
: 프로그램 중 하나의 논리적인 기능을
수행하는 작은 단위의 프로그램 조각
* 특징
ⓐ 프로그램이 간단하다.
ⓑ 이해하기 쉽다.
ⓒ 효율적이다. (분할 작업 가능)
ⓓ 재사용이 가능하다.
* 종류
ⓐ Sub 프로시저 : 반환안함
ⓑ Function 프로시저 : 반환함
ⓒ Property
* 매개변수(인수)
ㆍSUB 프로시저
: 리턴 값을 반환하지 않는 프로시저
* 이벤트 프로시저와 일반 프로시저
<형식>
[Private|Public|Static] Sub 프로시저이름 ([인수,인수...])
명령문1
명령문2
...
End Sub
호출한 프로시저에서 인수를
넘겨주지 않았다면 생략가능.
단, 넘겨 주었다면 자료형과 인수정의!
<호출>
[Call] 프로시저이름([인수, 인수...])
ㆍ함수 프로시저
: 프로시저를 실행한 후에
리턴 값을 반환하는 프로시저
* 내장함수
: Sqr(), Cos(), Int()와 같은 내장함수
* 사용자 정의 함수
: Function 프로시저로 정의하여 사용
<특징>
ⓐ 호출한 프로시저에게 결과값 반환
ⓑ 마지막에는 함수의 값을
결정하는 문장이 존재
ⓒ 결과값을 정의하지 않으면
기본값을 반환
<형식>
[Private|Public|Static] Function 함수이름([인수, 인수...]) [As 자료형]
명령문1
명령문2
...
함수이름 = 반환값(수식)
End Function
반환할 값의 자료형을 지정해 줘야함
=> As 자료형
(함수이름 = 수식)을 통해
반환값을 호출한 프로시저에게
넘겨줌
<호출>
함수이름([인수, 인수, ...)]
Or
변수명 = 함수이름([인수, 인수, ...])
ㆍ인수 전달 방법
: 프로시저 호출 시
프로시저가 수행을 위해
실 인수의 정보가
형식 인수로 전달됨.
ByVal (값에 의한 호출)
: 실 인수의 값이
형식 인수의 변수에 전달
ⓐ 전달하려는 정보(인수)가 들어있는
매개변수의 값만 호출된 프로시저에게
넘겨주는 방법
ⓑ 호출하는 프로시저와 호출되는 프로시저의
매개변수의 이름이 같아도 서로 다른 변수로 인식
ⓒ 호출된 프로시저에서 전달받은 정보를
변경시키더라도 호출한 프로시저의 변수에는
아무런 변화가 일어나지 않음
ByRef (참조에 의한 호출)
: 실 인수의 주소값이
형식 인수의 변수에 전달
ⓐ 전달할 정보(인수)가 들어있는
매개변수의 주소를
호출된 프로시저에게 넘겨주는 방법
ⓑ 호출하는 프로시저와 호출되는 프로시저에
매개변수의 이름이 다르더라도
서로 같은 주소를 가지므로 결국 같은 변수
ⓒ 호출된 프로시저에서 전달받은 정보를
변경시키려면 호출한 프로시저의 변수에도
변경.