프로그램을 만들다보면 중복해서 사용되는 기능들이 나오게되고
이걸 죄다 복붙을 통하여 해결하다보면 코드가 지저분해지고 길어지게 된다.
C#에서는 이러한 기능을 묶어 재사용할수있도록 일종의 모듈화가 가능한데
그것이 바로 메소드(함수)이다
C++ 강의자료 복붙이라 이후부터는 함수라 칭하도록 하겠다.
1.함수란
특정한 기능을 수행하도록 나눠진 작업 단위,
수학에서의 함수와 비슷한 의미를 가진다.
C# 에서 함수는 다음과 같은 구조를 가진다
<리턴타입> <함수이름> (<매개변수>)
{
<함수 본문(내용)>
return <리턴값>;
}
리턴타입은 돌려주는 리턴값이 어떤 변수 타입인지를 의미하고
매개변수느느 해당 함수에 넘겨줄 값을 의미한다.
위 구조대로 들어온 값에 1을 더하는 기능을 하는 함수를 만들어보면
다음과 같다.
대충 이러한 구조를 띄는데
사용하기 전에
과 같이 static을 앞에 붙여주도록 하자.
static은 정적 함수를 만드는것으로 객체가 아닌 클래스에 따라 작동하는 함수인데..
객체지향을 배우기 전이므로 그냥 일단 적어주도록 하자.
함수를 사용할때는 함수이름(매개변수)와 같이 사용하며 이를 함수를 호출한다고 한다.
위 함수를 사용한다고하면
int a = plusOne(10);
을 하면 plusOne 함수에 10이 매개변수로 들어가고 11이 리턴되며
11은 그 함수가 호출된 자리로 돌아간다.
즉 int a = 11이 되고 a는 11이 된다.
함수를 만드는 방법을 알았으니
두숫자를 더하는 함수를 만들어보자
해당 함수의 동작과정은 다음과 같다.
1. 함수의 인자값으로 x,y가 들어간다 x,y값은 각각 10과 5 이므로
Plus(10,5)와 같다.
2. 인자값이 전달된다.
이제 Plus함수에서 x는 10, y는 5이다.
3. 해당 인자값을 사용하여 함수 내용을 실행한다.
'교육 노트 > C# 강의' 카테고리의 다른 글
[C# 때려잡기] C# 강의 11. call by value / call by reference (2) | 2018.10.04 |
---|---|
[C# 때려잡기] C# 강의 10. 메소드 오버로딩 (0) | 2018.10.04 |
[C# 때려잡기] C# 강의 8. 배열 foreach (0) | 2018.10.03 |
[C# 때려잡기] C# 강의 7. 반복문 (0) | 2018.10.03 |
[C# 때려잡기] C# 강의 6. 분기문 (0) | 2018.10.02 |