메서드 구문 이해
일부 메서드(예 Console.WriteLine() : 또는 random.Next().)에 이미 익숙할 수 있습니다. 이러한 메서드를 사용하여 작업을 간소화하고 코드를 보다 쉽게 빌드할 수 있는 방법을 알아보시기 때문일 수 있습니다. 이 단원에서는 고유한 메서드를 만드는 방법을 알아봅니다.
메서드의 작동 방식
메서드를 개발하는 프로세스는 메서드 서명을 만드는 것부터 시작합니다. 메서드 시그니처는 메서드의 반환 형식, 이름 및 입력 매개 변수를 선언합니다. 예를 들어 다음과 같은 메서드 시그니처가 있다고 가정합니다.
void SayHello();
메서드 이름은 .입니다 SayHello. 반환 형식은 void메서드가 데이터를 반환하지 않음을 의미합니다. 그러나 메서드는 , boolint및 배열과 같은 double모든 데이터 형식의 값을 반환할 수도 있습니다. 메서드 매개 변수(있는 경우)는 괄호 ()에 포함되어야 합니다. 메서드는 모든 데이터 형식의 여러 매개 변수를 수락할 수 있습니다. 이 예제에서는 메서드에 매개 변수가 없습니다.
메서드를 실행하려면 정의를 추가해야 합니다. 메서드 정의는 대괄호를 {} 사용하여 메서드를 호출할 때 실행되는 코드를 포함합니다. 다음은 그 예입니다.
void SayHello()
{
Console.WriteLine("Hello World!");
}
이제 메서드가 호출될 때마다 Hello World!가 출력됩니다.
메서드 호출
메서드는 해당 이름을 사용하고 필요한 인수를 포함하여 호출됩니다. 다음을 살펴보세요.
Console.Write("Input!");
문자열 "Input!" 은 메서드에 제공된 인수입니다 Write .
메서드는 해당 정의 전후에 호출할 수 있습니다. 예를 들어 SayHello 다음 구문을 사용하여 메서드를 정의하고 호출할 수 있습니다.
SayHello();
void SayHello()
{
Console.WriteLine("Hello World!");
}
호출하기 전에 메서드를 정의할 필요가 없습니다. 이러한 유연성을 통해 코드를 원하는 대로 구성할 수 있습니다. 프로그램이 끝날 때 모든 메서드를 정의하는 것이 일반적입니다. 다음은 그 예입니다.
int[] a = {1,2,3,4,5};
Console.WriteLine("Contents of Array:");
PrintArray();
void PrintArray()
{
foreach (int x in a)
{
Console.Write($"{x} ");
}
Console.WriteLine();
}
메서드 실행
메서드를 호출하면 메서드 본문의 코드가 실행됩니다. 즉, 실행 컨트롤이 메서드 호출자에서 메서드로 전달됩니다. 메서드가 실행을 완료한 후 컨트롤이 호출자에게 반환됩니다. 예를 들어 다음 코드를 고려합니다.
Console.WriteLine("Before calling a method");
SayHello();
Console.WriteLine("After calling a method");
void SayHello()
{
Console.WriteLine("Hello World!");
}
이 코드는 다음 출력을 표시합니다.
Before calling a method
Hello World!
After calling a method
메서드가 정의되면 메서드를 사용해야 하는 횟수만큼 언제든지 호출할 수 있습니다.
if-else 문, for-루프, switch 서술문 내에서 메서드를 사용하여 변수를 초기화하거나 다른 여러 작업을 수행할 수 있습니다.
모범 사례
메서드 이름을 선택할 때는 이름을 간결하게 유지하고 메서드가 수행하는 작업을 명확하게 하는 것이 중요합니다. 메서드 이름은 파스칼 대/소문자여야 하며 일반적으로 숫자로 시작해서는 안 됩니다. 매개 변수의 이름은 매개 변수가 나타내는 정보의 종류를 설명해야 합니다. 다음 메서드 서명을 고려합니다.
void ShowData(string a, int b, int c);
void DisplayDate(string month, int day, int year);
두 번째 메서드는 표시되는 데이터 종류를 설명하고 매개 변수에 대한 설명이 포함된 이름을 제공합니다.
이제 기본 사항을 갖추게 되었으므로 사용자 고유의 메서드 작성을 시작할 준비가 되었습니다.