C#에서 return 문은 메서드(함수)의 실행을 종료하고 호출한 곳으로 값을 되돌려주는 역할을 합니다. 프로그램이 어떤 함수를 호출하면, 프로그램의 제어 흐름이 해당 함수로 이동하게 됩니다. 그리고 함수 내부에서 return 문이 실행되는 순간, 지정된 값이 호출자에게 전달되며 함수 실행이 종료됩니다.
return 문의 기본 개념
return 문은 크게 두 가지 기능을 수행합니다.
① 함수의 실행을 즉시 종료합니다.
② return 뒤에 명시된 값을 함수를 호출한 코드로 반환합니다.
반환값이 있는 메서드는 반드시 선언된 반환 타입과 일치하는 값을 return해야 하며, void 타입의 메서드는 값을 없이 return;만 사용해 실행을 종료할 수도 있습니다.
return 문 활용 예제
다음은 배열 요소들의 평균값을 계산한 후, return 문을 사용해 결과를 반환하는 예제입니다.
double getAverage(int[] arr, int size) {
int i;
double avg;
int sum = 0;
for (i = 0; i < size; ++i) {
sum += arr[i];
}
avg = (double)sum / size;
return avg;
}위 코드에서 getAverage 메서드는 int 배열과 배열의 크기를 매개변수로 받아, for 반복문으로 모든 요소의 합계를 구한 뒤 평균값을 계산합니다. 마지막 줄의 return avg;가 계산된 평균값을 호출자에게 돌려주는 핵심 부분입니다. 참고로 (double)sum처럼 형 변환(casting)을 해주는 이유는, 정수 나눗셈 시 소수점이 잘리는 것을 방지하기 위함입니다.
전체 실행 코드
이제 위 메서드를 포함한 전체 프로그램을 살펴보겠습니다.
using System;
namespace ArrayApplication {
class MyArray {
double getAverage(int[] arr, int size) {
int i;
double avg;
int sum = 0;
for (i = 0; i < size; ++i) {
sum += arr[i];
}
avg = (double)sum / size;
return avg;
}
static void Main(string[] args) {
MyArray app = new MyArray();
/* 요소가 5개인 int 배열 */
int [] balance = new int[]{1000, 2, 3, 17, 50};
double avg;
/* 배열을 인자로 전달하여 메서드 호출 */
avg = app.getAverage(balance, 5);
/* 반환된 값 출력 */
Console.WriteLine("Average value is: {0}", avg);
Console.ReadKey();
}
}
}코드 실행 결과
Average value is: 214.4
예제 해설
Main 메서드에서는 먼저 MyArray 클래스의 인스턴스를 생성합니다. 그다음 5개의 정수(1000, 2, 3, 17, 50)를 담은 balance 배열을 만들고, 이 배열과 크기 5를 인자로 getAverage 메서드에 전달합니다. 메서드가 계산을 마치면 return 문을 통해 평균값이 반환되고, 이 값이 변수 avg에 저장됩니다. 최종적으로 Console.WriteLine을 통해 결과 화면에 출력됩니다.
이처럼 return 문은 함수가 처리한 결과를 외부로 전달하는 가장 기본적이면서도 중요한 문법입니다. 다양한 자료형(int, double, string 등)뿐만 아니라 객체나 배열까지도 반환할 수 있으므로, 실무에서 메서드를 설계할 때 반드시 숙지해야 할 핵심 개념입니다.