성장일지
C#(5) 본문
함수
기능을 하는 코드의 모음
함수를 정의하여 만들고 다른 곳에서 사용함
입출력의 따라 함수가 구분이 가능
-입출력 없는 함수
정의시 기본 구조
void TestFunc() {
}
호출시
{
TestFunc(); //함수를 실행한다는 의미
}
void => 출력이 없다는 의미 , 함수의 시작
빈 괄호 => 입력이 없다는 의미
함수는 재사용이 가능함
함수의 사용이유
- 코드를 논리적 단위로 구분가능
- 함수로 만든 동작은 단순화가 가능
- 코드길이가 늘어나도 문제가 되지 않음
함수는 입출력이 있을수도 없을수도 있음
정의를 하고 호출함
논리적으로 구분을 하기 위해서 사용
변수는 사용되고 난 후 메모리 관리를 위해 해제됨
함수 안에 있는 변수는 함수가 종료되면 해제됨
서로 다른 함수안에 있는 변수는 분리되어 있음
-입력만 있는 함수
정의시 기본 구조
void MyPrint(int x){
//...
}
int형 변수 x를 입력받음
호출시
{
MyPrint(10);
}
10은 인자(argument) x는 매개변수(parameter)
함수에 있는 입력변수는 호출된 곳에서 값을 받아 생성됨(인자를 받아 파라메터가 선언됨)
* 매개변수와 인자의 변수이름은 같아도 상관없음
입력이 있는 함수는 변수를 생성하면서 값을 받음
인자는 호출하는곳의 변수/ 매개변수는 정의하는 곳의 변수
-출력만 있는 함수
정의시 기본 구조
bool CheckNum(){
//....
return ...
}
bool형 출력( 다른 변수형도 사용 가능 => 함수 앞에 출력하고 싶은 형(type)을 적음)
출력이 있는 함수는 함수 정의 제일 앞에 출력하고 싶은 type을 적음
출력이 있는 함수 정의에서 종료시 return 키워드로 출력값을 내보냄
-입출력이 모두 있는 함수
정의시 기본 구조
int Add(int a, int b){
int c;
c = a + b;
return c;
}
입력이 있으므로 ()안에 변수형과 변수를 쓰고
출력이 있으므로 함수 앞에 변수형과 함수안에 return이 있음
함수의 입출력을 사용하는 기능을
가진 함수를 사용가능
함수 안에서 선언되는 변수들은
함수 내부에서만 사용 가능함