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/
'번역 > C# Notes for Professionals' 카테고리의 다른 글
47.7: 메소드 오버로딩 (0) | 2022.09.20 |
---|---|
47.6: 파라미터 기본값 (default parameter) (0) | 2022.07.26 |
47.4: 매개변수 (Parameter) 와 전달 인자 (Argument) (0) | 2022.07.26 |
47.3: 메소드 선언하기 (0) | 2022.07.26 |
47.2: 무명 (Anonymous) 메소드 (0) | 2022.07.26 |