C#/Theory

[C#] 메서드, 매개변수, 반환(return), void

Jee-U 2025. 2. 19. 23:20

 

메서드(Method)

일련의 코드 블록으로, 특정한 작업을 수행하기 위해 사용되는 독립적인 기능 단위

-  중복되는 과정들을 메서드로 만든것

- C#에서 메서드는 함수

(예시) 밥먹는 과정을 밥먹기 로 만들고 아침, 점심, 저녁에 밥먹는 과정을 다 쓰는게 아니라 밥먹기로 통일

    밥먹기(식사메뉴) > 밥먹기(미역국), 밥먹기(고기) 등  )

 

역할, 중요성

  • 코드의 재사용성 : 메서드를 사용하여 코드를 작은 단위로 분리하고 관리할 수 있다.
  • 가독성과 유지보수성 : 코드가 간결해지고, 가독성이 좋아진다. 또한 코드 수정이 필요한 경우 해당 메서드만 수정하면 되므로 유지보수가 용이해진다.
  • 코드의 중복 제거 : 반복적인 작업을 메서드로 묶어서 사용하면 중복 방지할 수 있음
  • 코드의 추상화 : 메서드를 통해 직업 단위를 추상화하고, 메서드 이름을 통해 작업이 어떤 역할을 하는지 파악할 수 있음

 

메서드 선언과 호출 / 메서드 구조와 문법 

// 메서드 구조와 문법
[접근 제한자] [리턴 타입] [메서드 이름] ([메게변수])
{
	// 메서드 실행 코드
}

// 메서드 호출 방법
[메서드 이름] ([매개변수]);



// 예시
// 반환값이 없는 메서드
pubilc void Hello()
{
	Console.WriteLine("안녕하세요.");
}

// 반환값이 있는 메서드
pubilc void AddNumbers(int a, int b)
{
	int sum = a + b;
    return sum;
}

AddNumbers(10, 20);

// 매개변수가 있는 메서드
public void HelloName(string name)
{
	Console.WriteLine("안녕하세요, " + name + 님");
}



// 호출할때
HelloName(JiYa);
// 출력값 : "안녕하세요, JiYa 님"

 

  • 접근 제한자(Access Modifier) : public, private 등 메서드에 접근할 수 있는 범위
  • 리턴 타입(Return Type) : 반환값 데이터 타입, 없을경우 void 사용
  • 메서드명(Method Name) : 메서드를 호출하기 위해 사용하는 이름
  • 매개변수(Parameters) : 메서드에 전달되는 입력값, 0개이상을 정의할 수 있음, 호출 시에는 매개변수의 값을 전달해야 함

 

 

매개변수 활용

void PrintFullName(string firstName, string lastName)
{
    Console.WriteLine("Full Name: " + firstName + " " + lastName);
}

// 메서드 호출
PrintFullName("Ji", "Ya");

// 출력값 : Ji Ya
  • 메서드 : PrintFullName
  • 매개변수 : firstName, lastName

메서드를 사용하면 콘솔창에 풀 네임이 나오게 되어있어

메서드를 호출하면서 안에 fristName은 ji, lastName은 Ya로 하면 "Ji Ya"로 출력된다.

 

 

반환값

메서드가 수행한 작업의 결과를 호출자에게 반환하는 값, 리턴 타입에 지정

// 예시
int AddNumbers(int a, int b)
{
    int sum = a + b;
    return sum;
}

// 메서드 호출 및 반환값 사용
int result = AddNumbers(10, 20);
Console.WriteLine("Sum: " + result);

- 일종의 계산기를 메서드로 만들었다고 이해하면 쉽다. "Sum : 값" 으로 출력된다.

 

 

반환값이 없는 void 형식과 메서드

void는 메서드의 리턴 타입으로 사용되며 호출되면 메서드의 실행코드를 수행 후 값을 반환하지 않음

// 예시
void PrintMessage(string message)
{
    Console.WriteLine("Message: " + message);
}

// 메서드 호출
PrintMessage("Hello, World!");

 

 

 

반환값과 void 형식 차이

 

리턴값이 있는 메서드 (int, string 등)

  • 어떤값을 만들어서 돌려줌
  • 반환된 값을 변수에 저장하거나 다른 연산에 활용 가능
  • 계산하고 반환해줌

리턴값이 없는 메서드 (void)

  • 값을 반환하지 않고, 내부에서 Console.WriteLine() 같은 동작을 수행
  • 예) 화면에 메세지 출력, 캐릭터 이동 등
  • 계산없이 그대로 출력

 

메서드 오버로딩

동일한 이름의 메서드를 다양한 매개변수 목록으로 다중 정의하는 개념

- 메서드의 기능이나 작업은 동일하나 입력값에 따라 다르게 동작해야 할 때 사용

// 예시
void PrintMessage(string message)
{
    Console.WriteLine("Message: " + message);
}

void PrintMessage(int number)
{
    Console.WriteLine("Number: " + number);
}

// 메서드 호출
PrintMessage("Hello, World!");  // 문자열 매개변수를 가진 메서드 호출
PrintMessage(10);  // 정수 매개변수를 가진 메서드 호출



int AddNumbers(int a, int b)
{
    return a + b;
}

int AddNumbers(int a, int b, int c)
{
    return a + b + c;
}

// 메서드 호출
int sum1 = AddNumbers(10, 20);  // 두 개의 정수 매개변수를 가진 메서드 호출
int sum2 = AddNumbers(10, 20, 30);  // 세 개의 정수 매개변수를 가진 메서드 호출

 

'C# > Theory' 카테고리의 다른 글

[C#] 조건문 - 홀/짝수 구분, 등급 출력 등  (0) 2025.02.10
[C#] 문자열 처리 기능  (0) 2025.02.06
[C#] 기초, Using / Console 등  (0) 2025.02.05
[C#] 연산/연산자  (0) 2025.02.05
[C#] 기초부터 1  (0) 2025.01.08