Section 47.3: 메소드 선언하기

모든 메소드들은 액세스 한정자 (Access Modifier, 예: public, private, ...) 와 생략 가능한 추가적인 한정자들 (Optional Modofier, 예: abstract), 이름 및 필요한 경우 파라미터들로 이루어진 고유의 서명 (signature) 을 갖게 된다. 유의할 점은, 메소드 반환값의 타입은 서명의 일부분이 아니라는 점이다. 메소드의 prototype 은 다음과 같이 표현된다:

AccessModifier OptionalModifier ReturnType MethodName(InputParameters) { // 메소드 본문 (body) }

AccessModifier 에는 public, protected, private 등이 있으며 기본값으로는 internal 을 갖게 된다.

OptionalModifier 에는 static abstract virtual override new 혹은 sealed 등이 있다.

ReturnType 은 반환값이 없는 경우에는 void 이며, 있는 경우에는 간단한 타입인 int 부터 복잡한 클래스에 이르기까지 어떠한 타입도 될 수 있다.

메소드에는 입력 파라미터가 아예 없을 수도 있으며 복수개의 파라미터가 존재할수도 있다. 메소드를 위한 파라미터를 설정하려면, 각각의 파라미터를 일반적인 변수를 선언하듯이 (예: int a) 선언하게 되며, 복수개의 파라미터를 선언하는 경우는 각 파라미터 사이에 쉼표를 이용해 구분을 하여야 된다 (예: int a, int b).

파라미터들은 기본값을 가질 수 있다. 이를 위해서는 해당 파라미터에 기본이 될 값을 설정해주어야 한다 (예: int a = 0). 이렇게 파라미터가 기본값을 가지는 경우, 실제 메소드 호출 시 파라미터에 대한 값을 설정하는 부분은 생략이 가능하다.

아래 예제는 두 정수의 합을 반환하는 메소드를 나타내고 있다:

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

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

반응형

+ Recent posts