C# 함수

장현태입니다·2025년 3월 14일

함수

내용들을 묶어서 호출하여 사용할 수 있는 기능
->같은 기능을 여러번 사용할때 유용

먼저 ReadKey에 관해서 알아보고 함수를 알아보겠다. 이전에 ReadLine을 학습하였는데 비슷한 기능으로 ReadKey가 있다. ReadLine의 경우 콘솔창에 엔터를 눌러줘야 입력이 되는 형식이라면 ReadKey는 key를 누르면 바로 입력되는 형식이다.

--함수의 특징--
1) 함수를 호출하게 되면 함수를 실행하고 호출한곳으로
다시 돌아온다(return)

2) 함수호출 진행시 매개변수의 값을 가져간다
함수의 매개변수에 맞는곳에 그 값을 저장하는데
이때, 계산을 마친 함수는 값을 바꾸는게 아니라 반환만 하는것이다

함수와 함께 ReadKey의 예시를 봐보자
예시)

다음 코드를 보게되면
키 입력은 반복하여 받아주는데 WSAD 또는 키보드 위,아래,오른쪽,왼쪽 키보드를 눌러주면 그에 맞는 case가 함수를 호출하는 것이다.

1)ReadKey()

2)ReadKey(true)

switch안에 ReadKey를 사용하는데 ReadKey(true)로 작성하게 된 이유는 사진과같이 key의 데이터를 출력하는지 안하는지에 대한 차이이다.

매개변수

함수를 사용할 때 부가적으로 더 필요한 요소를 넣어주는 것이다

예제
1)매개 변수를 사용하여 함수에 문자열 넣어주기

함수의 호출에서 원하는 결과를 얻기 위해 매개 변수를 사용하여 값의 변화에 따라 원하는 출력값을 얻을 수 있다.

return

함수의 출력 데이터의 자료형
반드시 함수의 끝나기 전에 반환해서 출력해야한다
void는 return생략이 가능하다.

static void Main(string[] args)
{
int num1 = 1;
int num2 = 2;
Damage(num1, num2);
}

static int Damage(int x, int y)
{
return x + y;
}

Damage(x,y)함수는 x+y값을 반환해서 호출하여 사용되는것을 알 수있다

return 사용시 장점

1) 매개변수에 따라 반환되는 Damage함수의 값이 달라지기 떄문에return값은 변하는 값에 따라 사용 될 때 유용

2) 예외적인 상황에서 함수를 종료할 수 있음

예시)

player가 존재하지 않는다면 retrun을 사용하여 함수를 종료하는 형식이다.

out 파라미터

함수에서 두가지이상 반환을 원하면 사용하는 파라미터

원래의 경우 함수가 return을 만나게 된다면 반환과 함께 함수를 종료하게 되는데 이때, 함수에서 두가지 이상의 값을 원하게 된다면 사용하는 매개변수이다.

예시
1)

Divide함수에서 파라미터 left, right값을 가져오고 out divideValue를 사용해 함수에서 두개의 값(나머지, 몫)을 받아 올 수 있다. 이때 divideValue는 출력용 변수로 사용된다.

reference

함수의 특징에서 참조를 통해 값의 원본에 접근 가능하도록 하는 방법

1) Call By Value

2) Call By Reference

그림 1)은 복사된 값을 전달해서 a와b의 값이 변환되지 않았고,
그림 2)의 값은 주소 자체를 참조하여 a와 b의 값이 변환되는것을 볼 수 있다

0개의 댓글