Section 47.5: 반환 (Return) 타입

메소드는 아무것도 반환하지 않거나 (void), 아니면 특정 타입의 값을 반환하게 되어 있다:

// 어떤것도 반환하지 않기를 원하는 경우 반환 타입으로 void 를 사용한다. static void ReturnsNothing() { Console.WriteLine("Returns nothing"); } // 값을 반환하기를 원하는 경우 반환할 값의 타입을 기술해준다. static string ReturnsHelloWorld() { return "Hello World"; }

만약 메소드가 반환값 타입을 기술하고 있다면, 해당 메소드는 값을 반드시 반환하여야 한다. 반환시에는 return 문을 사용한다.

프로그램의 실행이 return 문에 도달한 경우, 주어진 특정 값이 반환되며 return 문 아래의 코드들은 더이상 실행되지 않을 것이다 (finally 블럭의 경우는 예외로, 이는 실제 메소드가 반환하기 직전에 여전히 실행이 될 것이다).

만약 메소드가 아무것도 반환하지 않는 경우에도 (void), 해당 메소드 실행을 즉시 끝내고자 하는 경우 아무런 값 없이 return 문을 호출할 수 있다. 그러나 이러한 메소드의 마지막 부분에서는 return 문의 사용이 불필요하다.

유효한 return 문들의 예제:

return; return 0; return x * 2; return Console.ReadLine();

예외 (exception) 발생 시에는 값 반환 없이 메소드의 실행이 종료될 수 있다. 또한, yield 키워드를 이용하여 반환값들이 생성되는 반복기 (iterator) 블럭 등도 있으나, 이들은 특수한 경우로써 이 시점에서는 설명하지 않도록 한다.

본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

+ Recent posts