C# 프로그래밍에서 메서드의 매개변수(Parameter) 에 기본값 설정
- c#
- 2025. 10. 14.
C# 프로그래밍에서 메서드의 매개변수(Parameter) 에 기본값 설정
C#에서는 메서드를 정의할 때 매개변수에 기본값(Default Value) 을 지정할 수 있습니다. 메서드를 호출할 때 해당 인수를 생략해도 자동으로 기본값이 사용됩니다.
void SayHello(string name = "Guest")
{
Console.WriteLine($"Hello, {name}!");
}
SayHello("Alice");
Hello, Alice!를 출력
SayHello();
Hello, Guest!를 출력
몇가지 사용 규칙
기본값은 뒤에서부터 지정해야 함
기본값이 있는 매개변수 뒤에는 기본값이 없는 매개변수를 둘 수 없습니다.
void PrintInfo(string name, int age = 20) { }
아래 예에서 컴파일 오류가 발생합니다(기본값이 없는 age가 뒤에 있음)
void PrintInfo(string name = "John", int age) { }
기본값으로 사용할 수 있는 값
리터럴(literal) 값, 상수(const), default, null 등. 변수나 계산식은 사용 불가합니다(컴파일 타임에 결정되어야 함)
void Test(int x = 10, string msg = "Hi", bool flag = false, object data = null) { }
리터럴은 값 자체를 코드에 직접 적은 것을 의미. 정수형, 실수형, 문자열, 불린형등(고정된 값)
아래 예에서 number는 변수, 10은 리터럴
int number = 10;
상수를 기본값으로 사용할수있음
const int defaultAge = 25;
void UserInfo(int age = defaultAge) { }
아래 예에서 컴파일 오류가 발생(변수는 런타임 값)
int runtimeValue = 30;
void UserInfo(int age = runtimeValue) { }
기본값을 default 키워드로 지정할 수도 있음(타입의 기본값. 참조형은 null, 숫자는 0, bool은 false)
아래 예에서 정수형 타입의 기본값인 0을 출력
void Process(int count = default, string name = default)
{
Console.WriteLine($"{count}, {name}");
}
Process();
메서드 매개변수 기본값 예시
예시1
void Log(string message, string level = "INFO")
{
Console.WriteLine($"[{level}] {message}");
}
Log("서버 시작됨"); // [INFO] 서버 시작됨
Log("데이터베이스 오류", "ERROR"); // [ERROR] 데이터베이스 오류
예시2
void Register(string name, int age = 18, string city = "Seoul") { }
Register("민수"); // age=18, city=Seoul
Register("지영", city: "Busan"); // age=18, city=Busan (명명된 인자)
Register("현우", 25, "Jeju"); // age=25, city=Jeju
'c#' 카테고리의 다른 글
C# 프로그래밍에서 null 조건부 연산자(?.)와 null 병합 연산자(??, ??=) (0) | 2025.10.14 |
---|---|
C# 프로그래밍 - List<T> 클래스 사용 예시와 유용한 함수들 (0) | 2024.10.14 |
C# 프로그래밍 - 열거형(enumeration, enum) 사용 예시 (0) | 2024.10.14 |
C# 프로그래밍 자주 사용하는 문자열 클래스(String) 함수 모음 (1) | 2024.10.12 |
C# 프로그래밍 - 반복문 흐름제어(break, continue) (0) | 2024.10.03 |