Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 사용자 지정 메서드를 정의하는 방법

C#에서 사용자 지정 메서드를 정의하려면 아래와 같은 기본 구문을 사용합니다.

<접근 지정자> <반환 형식> <메서드 이름>(매개변수 목록) {
메서드 본문
}

메서드를 구성하는 요소

  • 접근 지정자(Access Specifier) − 다른 클래스에서 해당 변수나 메서드에 접근할 수 있는지, 즉 가시성(visibility)을 결정합니다.

  • 반환 형식(Return Type) − 메서드가 작업을 마친 후 반환하는 값의 데이터 타입입니다. 만약 메서드가 어떤 값도 반환하지 않는다면 반환 형식은 void로 지정해야 합니다.

  • 메서드 이름(Method Name) − 메서드를 식별하는 고유한 이름으로, 대소문자를 구분합니다. 클래스 내에 이미 선언된 다른 식별자와 동일한 이름을 사용할 수 없습니다.

  • 매개변수 목록(Parameter List) − 괄호 안에 위치하며, 메서드에 데이터를 전달하고 결과를 받아오는 통로 역할을 합니다. 매개변수 목록은 매개변수의 타입, 순서, 개수를 의미합니다. 매개변수는 선택 사항이므로 매개변수가 하나도 없는 메서드도 정의할 수 있습니다.

  • 메서드 본문(Method Body) − 요구되는 작업을 실제로 수행하기 위한 명령어들의 집합을 포함합니다.

예제

다음은 두 개의 정수 중 더 큰 값을 찾아 반환하는 FindMax 메서드를 정의하고 호출하는 전체 예제입니다.

using System;

namespace Demo {
   class NumberManipulator {
      public int FindMax(int num1, int num2) {
         /* 지역 변수 선언 */
         int result;

         if (num1 > num2)
         result = num1;
         else
         result = num2;
         return result;
      }

      static void Main(string[] args) {
         /* 지역 변수 정의 */
         int a = 90;
         int b = 15;
         int ret;
         NumberManipulator n = new NumberManipulator();

         // FindMax 메서드 호출
         ret = n.FindMax(a, b);
         Console.WriteLine("최대값은 : {0}", ret );
         Console.ReadLine();
      }
   }
}

실행 결과

최대값은 : 90

위 예제에서 FindMax 메서드는 두 개의 int형 매개변수를 받아 비교한 뒤, 더 큰 값을 return 문을 통해 호출자에게 돌려줍니다. Main 메서드에서는 객체를 생성한 후 n.FindMax(a, b) 형태로 메서드를 호출하고, 그 반환값을 변수 ret에 저장하여 화면에 출력합니다. 이처럼 메서드를 활용하면 반복되는 로직을 재사용 가능한 단위로 분리하여 코드의 가독성과 유지보수성을 크게 높일 수 있습니다.