프로그래밍 언어/C#

C# 메서드 개념과 구조, void, return, 매개변수 구조 - C# 6

eco7T 2024. 9. 5. 09:01
반응형

이번에는 C# 메서드의 정의, 구조, 사용 예시 등을 설명하고, 예시 코드를 통해 프로그래밍 입문자들이 효과적으로 활용할 수 있도록 정리해 보겠습니다.

C# 메서드 개념과 구조
C# 메서드 개념과 구조

 

C# 메서드 개념과 구조

  메서드란 무엇인가?

메서드는 특정 작업을 수행하는 코드의 묶음입니다. 쉽게 말해, 메서드는 프로그램에서 반복적으로 사용되는 코드를 하나의 이름으로 정의해 놓은 것입니다. 이렇게 정의된 메서드는 필요할 때마다 호출하여 사용할 수 있습니다.

메서드를 사용하면 다음과 같은 이점이 있습니다.

  • 코드의 재사용성: 같은 코드를 여러 번 작성하지 않아도 됩니다.
  • 코드의 구조화: 프로그램을 논리적인 부분으로 나눌 수 있습니다.
  • 유지보수의 용이성: 코드 수정이 필요할 때 해당 메서드만 수정하면 됩니다.
반응형

  메서드의 기본 구조

C#에서 메서드의 기본 구조는 다음과 같습니다.

접근제한자 반환형 메서드이름(매개변수목록) { // 메서드 내용 return 반환값; // 반환형이 void가 아닌 경우 }

각 부분에 대해 자세히 살펴보겠습니다.

 

접근제한자 (Access Modifier):

메서드에 대한 접근 권한을 지정합니다. 주로 사용되는 접근제한자는 다음과 같습니다.

  • public: 어디서든 접근 가능
  • private: 같은 클래스 내에서만 접근 가능
  • protected: 같은 클래스와 파생 클래스에서 접근 가능
  • internal: 같은 어셈블리 내에서 접근 가능

반환형 (Return Type):

  • 메서드가 작업을 수행한 후 반환하는 값의 데이터 형식을 지정합니다. 반환값이 없는 경우 'void'를 사용합니다.

메서드이름 (Method Name):

  • 메서드를 식별하는 이름입니다. 일반적으로 동사나 동사구로 시작합니다.

매개변수목록 (Parameter List):

  • 메서드에 전달되는 입력값들의 목록입니다. 각 매개변수는 데이터 형식과 이름으로 구성됩니다.

메서드 내용 (Method Body):

  • 메서드가 수행할 실제 작업을 정의하는 코드 블록입니다.

return 문:

  • 메서드의 실행 결과를 호출자에게 반환합니다. void 메서드의 경우 return 문을 생략할 수 있습니다.


  메서드 예시와 설명

이제 실제로 적용 가능한 예시를 통해 메서드의 사용법을 자세히 알아보겠습니다.

예시 1: 간단한 덧셈 메서드

public class Calculator { public int Add(int a, int b) { int result = a + b; return result; } }

이 예시에서,

  • 'public'은 접근제한자로, 이 메서드가 다른 클래스에서도 사용 가능함을 나타냅니다.
  • 'int'는 반환형으로, 이 메서드가 정수를 반환한다는 것을 의미합니다.
  • 'Add'는 메서드 이름입니다.
  • '(int a, int b)'는 매개변수 목록으로, 이 메서드가 두 개의 정수를 입력받는다는 것을 나타냅니다.
  • 중괄호 {} 안의 코드가 메서드의 내용입니다.
  • 'return result;'는 계산된 결과를 반환합니다.

이 메서드를 사용하는 방법은 다음과 같습니다.

Calculator calc = new Calculator(); int sum = calc.Add(5, 3); Console.WriteLine("5 + 3 = " + sum); // 출력: 5 + 3 = 8

예시 2: void 메서드 (반환값이 없는 메서드)

public class Greeter { public void SayHello(string name) { Console.WriteLine("안녕하세요, " + name + "님!"); } }

이 예시에서,

  • 'void'는 이 메서드가 값을 반환하지 않음을 나타냅니다.
  • 'SayHello'는 메서드 이름입니다.
  • '(string name)'은 문자열 타입의 매개변수를 받는다는 것을 나타냅니다.
  • 메서드 내용은 단순히 콘솔에 인사말을 출력합니다.

이 메서드를 사용하는 방법은 다음과 같습니다.

Greeter greeter = new Greeter(); greeter.SayHello("홍길동"); // 출력: 안녕하세요, 홍길동님!

 

  매개변수의 종류

C#에서는 다양한 종류의 매개변수를 사용할 수 있습니다. 주요 매개변수 종류는 다음과 같습니다.

 

값 매개변수 (Value Parameters):

기본적인 매개변수 전달 방식으로, 값의 복사본이 메서드에 전달됩니다.

public void IncrementValue(int number) { number += 1; Console.WriteLine("메서드 내부: " + number); } // 사용 예 int x = 5; IncrementValue(x); Console.WriteLine("메서드 호출 후: " + x); // 출력: // 메서드 내부: 6 // 메서드 호출 후: 5

참조 매개변수 (Reference Parameters):

'ref' 키워드를 사용하여 변수의 참조를 전달합니다. 메서드 내에서 변경된 값이 원본 변수에 반영됩니다.

public void IncrementReference(ref int number) { number += 1; Console.WriteLine("메서드 내부: " + number); } // 사용 예 int x = 5; IncrementReference(ref x); Console.WriteLine("메서드 호출 후: " + x); // 출력: // 메서드 내부: 6 // 메서드 호출 후: 6

 

출력 매개변수 (Output Parameters):

'out' 키워드를 사용하여 메서드에서 값을 반환받을 수 있는 매개변수를 정의합니다.

public void GetValues(out int sum, out int product) { sum = 10 + 5; product = 10 * 5; } // 사용 예 int resultSum, resultProduct; GetValues(out resultSum, out resultProduct); Console.WriteLine("합: " + resultSum + ", 곱: " + resultProduct); // 출력: // 합: 15, 곱: 50

선택적 매개변수 (Optional Parameters):

기본값을 가지는 매개변수로, 메서드 호출 시 값을 생략할 수 있습니다.

public void Greet(string name, string greeting = "안녕하세요") { Console.WriteLine(greeting + ", " + name + "님!"); } // 사용 예 Greet("홍길동"); Greet("김철수", "반갑습니다"); // 출력: // 안녕하세요, 홍길동님! // 반갑습니다, 김철수님!

 

반응형