Home C# [C#]이름 지정 인수

[C#]이름 지정 인수

by DUBUKIMCH

C#의 **이름 지정 인수(named arguments)**는 메서드나 생성자에 인수를 전달할 때, 인수의 이름을 명시적으로 지정하여 전달하는 방식입니다. 이는 특히 인수가 많거나, 기본값이 있는 인수를 사용하는 메서드 호출 시 가독성과 명확성을 높여줍니다.


📌 기본 문법

void PrintPerson(string name, int age, string city)
{
    Console.WriteLine($"{name}, {age}세, {city}");
}

// 일반적인 방식
PrintPerson("홍길동", 30, "서울");

// 이름 지정 인수 사용
PrintPerson(name: "홍길동", age: 30, city: "서울");

// 순서 변경 가능
PrintPerson(city: "부산", name: "김철수", age: 25);

✅ 장점

  1. 순서를 기억할 필요 없음
    → 인수 이름으로 직접 지정하므로 순서를 바꿔도 OK.
  2. 기본값 인수와 함께 사용하면 가독성 향상
    → 불필요한 인수를 생략하고 필요한 것만 지정할 수 있음.
void CreateUser(string username, string role = "User", bool active = true)
{
    Console.WriteLine($"{username}, Role: {role}, Active: {active}");
}

// 일부만 지정
CreateUser("admin", active: false); // role은 기본값 "User"

⚠️ 주의사항

  • 위치 기반 인수와 섞어 쓸 경우, 위치 인수는 앞에 와야 함
// 올바른 예
PrintPerson("홍길동", age: 30, city: "서울");

// 잘못된 예 (컴파일 오류)
PrintPerson(name: "홍길동", 30, "서울"); // 위치 인수가 이름 지정 인수 뒤에 옴

  • 중복 지정 금지
PrintPerson("홍길동", age: 30, age: 25); // 오류: age가 두 번 지정됨

🧠 요약

기능설명
인수 명시 가능메서드명(매개변수이름: 값) 형식으로 사용
순서 무관이름을 지정하므로 인수 순서를 바꿔도 문제 없음
기본값 인수와 유용일부 인수만 선택적으로 지정 가능
가독성 향상어떤 인수에 어떤 값을 넣는지 코드상에서 쉽게 알 수 있음

Leave a Comment

error: Content is protected !!