--- id: csharp-method-parameters title: "C# Method Parameters" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["parameters vs arguments C#", "C# 메서드 매개변수"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.83 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["csharp", "programming-language", "w3schools", "methods", "parameters"] raw_sources: ["https://www.w3schools.com/cs/cs_method_parameters.php"] applied_in: [] github_commit: "" --- # [[CSharp Method Parameters]] ## 🎯 한 줄 통찰 (One-line insight) The parameter/argument distinction and the positional-matching rule ("the method call must have the same number of arguments as there are parameters, and the arguments must be passed in the same order") are unchanged from C/C++ — this chapter introduces no new C#-specific behavior, serving instead as the terminology foundation the next four chapters (Default Values, Named Arguments, Overloading, Return Values) will each independently break or extend. [S1] ## 🧠 핵심 개념 (Core concepts) - **Parameter** — a variable listed in the method's definition, inside the parentheses. [S1] - **Argument** — the actual value passed to a parameter when the method is CALLED. [S1] - **Multiple parameters** — separated by commas in both the definition and the call. [S1] - **Positional matching (default rule)** — argument count and order must match the parameter list exactly, unless named arguments (a later chapter) are used instead. [S1] ## 📖 세부 내용 (Details) - Single parameter: `static void MyMethod(string fname) { Console.WriteLine(fname + " Refsnes"); } ... MyMethod("Liam"); MyMethod("Jenny"); MyMethod("Anja");` → `"Liam Refsnes"`, `"Jenny Refsnes"`, `"Anja Refsnes"`. [S1] - Multiple parameters: `static void MyMethod(string fname, int age) { Console.WriteLine(fname + " is " + age); } ... MyMethod("Liam", 5);` → `"Liam is 5"`. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) - **매개변수/인자 구분과 위치 일치 규칙이 C/C++와 동일**: 매개변수(parameter)와 인자(argument)의 구분, 그리고 호출 시 인자 개수·순서가 매개변수와 정확히 일치해야 한다는 규칙이 C/C++와 차이가 없다는 점이 확인됨 — 이후 챕터들(기본값, 이름 있는 인자, 오버로딩, 반환값)이 이 기본 규칙을 각각 다르게 확장/완화함. [S1] ## 🛠️ 적용 사례 (Applied in summary) 이름(fname) 하나만 받는 메서드와, 이름+나이(age) 두 개를 받는 메서드를 각각 여러 인자로 반복 호출하는 예제가 원문에서 직접 실전 활용 사례로 제시됨. [S1] ## 💻 코드 패턴 (Code patterns) Multiple parameters — count and order must match the call (C#): ```csharp static void MyMethod(string fname, int age) { Console.WriteLine(fname + " is " + age); } static void Main(string[] args) { MyMethod("Liam", 5); MyMethod("Jenny", 8); } ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.83 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[C# Tutorial]] - **관련 개념:** [[CSharp Methods]], [[CSharp Method Parameters Default]], [[CPP Function Param]] - **참조 맥락:** Methods 섹션 — Default Parameter Value 챕터로 이어짐. ## 📚 출처 (Sources) - [S1] W3Schools — C# Method Parameters — https://www.w3schools.com/cs/cs_method_parameters.php ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "C# Method Parameters" page (Astra wiki-curation, P-Reinforce v3.1 format).