c# 메서드와 함수

2024. 8. 31. 18:51c#

C#에서의 메서드와 함수

프로그래밍에서 메서드함수는 코드의 재사용성을 높이고,
복잡한 프로그램을 작은 작업으로 나누어 관리하기 쉽게 만들어 줍니다.
이번 포스팅에서는 C#에서 메서드와 함수의 개념, 정의 및 호출 방법, 매개변수와 반환값,
그리고 함수 오버로딩에 대해 알아보겠습니다.


1. 함수의 정의 및 호출

함수란 무엇인가?

함수(Function)는 특정 작업을 수행하는 코드 블록입니다.
함수는 코드의 재사용을 가능하게 하고, 프로그램을 더 구조적으로 설계할 수 있도록 도와줍니다.
C#에서 함수는 일반적으로 메서드(Method)라고 불리며, 클래스나 구조체 내에서 정의됩니다.

함수 정의하기

C#에서 함수는 다음과 같은 구조로 정의됩니다:

반환형 함수명(매개변수)
{
    // 실행할 코드 블록
    return 반환값;
}
  • 반환형: 함수가 반환하는 값의 데이터 타입을 명시합니다. 반환값이 없는 경우 void를 사용합니다.
  • 함수명: 함수의 이름으로, 호출할 때 사용됩니다.
  • 매개변수: 함수가 입력으로 받을 데이터입니다. 여러 개의 매개변수를 정의할 수 있습니다.

함수 호출하기

함수를 호출하는 방법은 매우 간단합니다.
함수명을 사용하여 호출하고, 필요한 경우 매개변수를 전달하면 됩니다.

int result = Sum(5, 10); // Sum 함수 호출
Console.WriteLine(result);

함수 정의 및 호출 예제

// 두 숫자의 합을 계산하는 함수
int Sum(int a, int b)
{
    return a + b;
}

int result = Sum(5, 10); // Sum 함수 호출
Console.WriteLine($"두 숫자의 합: {result}");

위의 예제에서 Sum 함수는 두 개의 정수를 매개변수로 받아 그 합을 반환합니다.
result 변수는 Sum(5, 10)을 호출하여 얻은 결과 값을 저장합니다.


2. 매개변수와 반환값

매개변수란 무엇인가?

매개변수(Parameter)는 함수에 전달되는 입력값으로, 인자라고도 부르며,
함수가 작업을 수행하는 데 필요한 데이터를 제공합니다.
매개변수는 함수 선언 시 괄호 안에 정의되며, 함수 호출 시 실제 값(인수)이 전달됩니다.

int Multiply(int x, int y) // x와 y는 매개변수
{
    return x * y;
}

반환값이란 무엇인가?

반환값(Return Value)은 함수가 작업을 수행한 후 호출자에게 돌려주는 결과값입니다.
반환값은 함수의 반환형에 따라 결정됩니다.
만약 반환할 값이 없다면, 함수의 반환형은 void로 정의됩니다.

int Square(int number)
{
    return number * number; // 반환값은 number의 제곱
}

매개변수와 반환값의 예제

// 두 수의 곱을 계산하는 함수
int Multiply(int a, int b)
{
    return a * b;
}

int result = Multiply(4, 5); // Multiply 함수 호출
Console.WriteLine($"두 숫자의 곱: {result}");

위의 예제에서 Multiply 함수는 두 개의 정수를 매개변수로 받아 곱한 결과를 반환합니다.


3. 함수 오버로딩

함수 오버로딩이란 무엇인가?

함수 오버로딩(Function Overloading)은 동일한 이름의 함수를 여러 개 정의하되,
매개변수의 타입, 개수, 또는 순서를 다르게 설정하여 여러 용도로 사용할 수 있게 하는 기능입니다.
오버로딩을 통해 함수 이름을 일관성 있게 유지하면서 다양한 형태의 입력을 처리할 수 있습니다.

함수 오버로딩 예제

// 두 정수를 더하는 함수
int Add(int a, int b)
{
    return a + b;
}

// 세 정수를 더하는 함수 (오버로딩)
int Add(int a, int b, int c)
{
    return a + b + c;
}

// 두 실수를 더하는 함수 (오버로딩)
double Add(double a, double b)
{
    return a + b;
}

위의 예제에서 Add 함수는 두 가지 방법으로 오버로딩되었습니다:

  • 두 정수를 더하는 함수
  • 세 정수를 더하는 함수
  • 두 실수를 더하는 함수

각 오버로딩된 함수는 입력 매개변수에 따라 적절한 함수가 호출됩니다.

int sum1 = Add(10, 20);         // 두 정수를 더하는 함수 호출
int sum2 = Add(10, 20, 30);     // 세 정수를 더하는 함수 호출
double sum3 = Add(5.5, 7.3);    // 두 실수를 더하는 함수 호출

Console.WriteLine($"두 정수의 합: {sum1}");
Console.WriteLine($"세 정수의 합: {sum2}");
Console.WriteLine($"두 실수의 합: {sum3}");

이처럼 함수 오버로딩을 활용하면 다양한 입력에 대해 동일한 함수 이름을 사용하여 일관된 코드를 작성할 수 있습니다.


함수와 메서드는 C#에서 코드의 재사용성과 구조화를 도와주는 중요한 도구입니다.
함수를 정의하고 호출하는 방법을 이해하면, 코드의 복잡성을 줄이고 유지보수를 쉽게 할 수 있습니다.
매개변수와 반환값을 통해 함수 간에 데이터를 전달하고,
함수 오버로딩을 통해 다양한 시나리오에서 동일한 함수 이름을 사용할 수 있습니다.

이 포스팅에서는 함수의 기본 정의와 호출 방법, 매개변수와 반환값의 개념,
그리고 함수 오버로딩의 원리와 예제를 소개했습니다.
이 내용을 잘 이해하고 활용하면 더욱 효율적이고 유지보수하기 쉬운 프로그램을 작성할 수 있을 것입니다.

'c#' 카테고리의 다른 글

C# 배열(Array)과 컬렉션(Collection)  (0) 2024.09.01
c# 오버로딩과 오버라이딩  (1) 2024.08.31
c# 반복문(for, while, do-while, foreach)  (0) 2024.08.30
c# 조건문(if, else if, else, switch)  (1) 2024.08.28
c# 연산자  (0) 2024.08.25