선택적 매개변수(optional parameter)을 이용하여 매개변수 중 값이 전달되지 않은 인자가 있을 때 미리 지정된 기본값을 사용할 수 있다.
💡 샘플 코드
class Person
{
public void PrintInfo(string name, int age = 0, string address = "Korea")
{
Console.WriteLine(string.Format("{0} : {1} in {2}",name, age, address));
}
}
static void Main(string[] args)
{
Person person = new Person();
person.PrintInfo("Tom");
person.PrintInfo("David", 20);
person.PrintInfo("Sarah", 30, "France");
}
✅ 결과
Tom : 0 in Korea
David : 20 in Korea
Sarah : 30 in France
💡 샘플 코드
class Person
{
string txt = "txt";
public void PrintInfo(string name, int age = 0, string address = "Korea") { }
public void PrintInfo(string name, int age = 0, string address = "Korea", string memo = txt) { }
//선택적 매개변수의 기본값이 상수식으로 표현되지 않음.
public void PrintInfo(string name, int age = 0, string address = "Korea", bool isChristian) { }
//선택적 매개변수 뒤에 필수 매개변수가 올 수 없음.
public void PrintInfo(params string[] familyMember = new int[] { "Mother", "Father"}) { }
//params 유형을 선택적 매개변수로 쓸 수 없음.
}
static void Main(string[] args)
{
Person person = new Person();
person.PrintInfo("Jane", "USA"); //컴파일 에러 : 중간을 생략하여 전달할 수 없다.
}