메서드(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 |