C#

[method] C# - Method Parameters (메서드 매개변수)

2,774
목차
  1. 매개변수 vs. 독립변수(= 인수)
  2. 매개변수 기본값 (= 선택적 매개변수)
  3. 여러 매개변수
  4. return 키워드 - 함수 값 반환
  5. 명명된 독립변수

 

매개변수 vs. 독립변수(= 인수)

[매개변수]

 

1.

사용자로부터 데이터 받는 입구로서, 함수 안에서 사용하는 변수.

(예) int add(int x, int y) {...}

 

2.

원하는 만큼 쉼표로 연결해 나열 가능하며,

매개변수 각각에 대해 자료형 지정해야 함.

(예) int add(int x, int y, int z, ....) {...}

 

3.

독립변수 (인수)가 전달 안 될 경우 대비해 기본값 지정 가능.

※ 독립변수가 전달 안 된 경우, 매개변수 기본값이 사용됨.

※ 기본값 갖는 매개변수를 「선택적 매개변수」라 함.

 


[독립변수 (= 인수)]

 

1.

함수 호출 시, 함수로 실제 전달되는 데이터. (예) add(3, 4); 

 

2.

선언된 매개변수 자료형에 맞는 독립변수를 전달해야 함.

 


[예제1] 함수가 반환값 갖는 경우.

 

using System;

namespace Homzzang

{

  class Program

  {

    static int add(int x, int y)

    {

      return x + y;

    }


    static void Main(string[] args)

    {

      Console.WriteLine(add(3, 4));

    }

  }

}

 

결과값: 7


[예제2] 함수가 반환값 없이 실행만 하는 경우.

 

using System;

namespace Homzzang

{

  class Program

  {

    static void StudyCode(string code) 

    {

      Console.WriteLine(code + " 공부");

    }


    static void Main(string[] args)

    {

      StudyCode("HTML");

      StudyCode("CSS");

      StudyCode("JS");

    }  

  }

}

 

결과값:

HTML 공부

CSS 공부

JS 공부 

 

매개변수 기본값 (= 선택적 매개변수)

 

1.

= 연산자 사용해 매개변수 기본값 지정 가능.

 

2.

매개변수 자료형에 맞는 값을 사용해야 함.

 

3.

선택적 매개변수 : 기본값 갖는 매개변수.

 


[예제]

 

using System;

namespace Homzzang

{

  class Program

  {

    static void StudyCode(string code = "C#") 

    {

      Console.WriteLine(code + " 공부");

    }


    static void Main(string[] args)

    {

      StudyCode("HTML");

      StudyCode("CSS");

      StudyCode("JS");

      StudyCode(); // C# 공부

    }  

  }

}

 

결과값:

HTML 공부

CSS 공부

JS 공부

C# 공부

 

여러 매개변수

 

1.

쉼표(,) 이용해 원하는 만큼 매개변수 나열 가능.

 

2.

각각의 매개변수는 자료형 지정해야 함.

 

3.

함수 호출 시 독립변수(인수)는 매개변수와  동일 개수와 순서로 함수로 전달돼야 함.

 


[예제] 기본값 갖는 매개변수 2개 사용.

 

using System;

namespace Homzzang

{

  class Program

  {

    static void StudyCode(string code = "C#", int tuition = 10000)

    {

      Console.WriteLine(code + " 과외 - " + tuition + "원");

    }


    static void Main(string[] args)

    {

      StudyCode("HTML", 10000);

      StudyCode("CSS", 20000);

      StudyCode("JS", 30000);

      StudyCode(); // C# 과외 - 10000원

    }

  }

}

 

결과값:

HTML 과외 - 10000원

CSS 과외 - 20000원

JS 과외 - 30000원

C#  과외 - 10000원

 

return 키워드 - 함수 값 반환

 

함수가 값을 반환하도록 하려면,

함수 선언 시 void 대신 자료형 (예: string, int 등) 기재해야 하며,

return 키워드를 이용해 값을 반환.

 


[예제1] 매개변수 1개인 경우

 

using System;

namespace Homzzang

{

  class Program

  {

    static int Add(int x)

    {

      return 4 + x;

    }


    static void Main(string[] args)

    {

      Console.WriteLine(Add(3)); // 7

    }

  }

}

 

결과값: 7


[예제2] 매개변수 2개인 경우

 

using System;

namespace Homzzang

{

  class Program

  {

    static int Add(int x, int y)

    {

      return x + y;

    }


    static void Main(string[] args)

    {

      Console.WriteLine(Add(3, 4)); // 7

    }

  }

}

 

결과값: 7


[예제3] 반환값을 변수에 저장

 

using System;

namespace Homzzang

{

  class Program

  {

    static int Add(int x, int y)

    {

      return x + y;

    }


    static void Main(string[] args)

    {

      int z = Add(3, 4);

      Console.WriteLine(z); // 7

    }

  }

}

 

결과값: 7


[예제4] 사용자 입력값 받아 더하기 (※ 사용자 입력값 받기)

 

using System;

namespace Homzzang

{

    class Program

    {

 

       static int Add(int x, int y)

       {

           return x + y;

       }

 

        static void Main(string[] args)

        {

            int x, y, sum; 

            Console.WriteLine("숫자 입력:");

            x = Convert.ToInt32(Console.ReadLine()); 

            Console.WriteLine("숫자 입력:");

            y = Convert.ToInt32(Console.ReadLine()); 

            sum = Add(x, y);

            Console.WriteLine(sum);

        }

    }

}

 

결과값: 사용자 입력값에 따라 다름. 

 

명명된 독립변수

 

1. 

key:value 쌍으로 전달하는 독립변수.

 

2. 장점.

① 독립변수를 순서대로 전달할 필요 없음. (예1)

② 선택적 매개변수 여럿일 때, 독립변수 하나만 전달 시 유용. (예2)

 


[예제1] 명명된 독립변수는 순서 무시해도 됨.

 

using System;

namespace Homzzang

{

  class Program

  {

    static void Member(string id, string name, int age)

    {

      Console.WriteLine(id + " (" + name + ", " + age + ")");

    }


    static void Main(string[] args)

    {

      Member(age: 18, id: "sinbi", name: "신비");

    }

  }

}

 

결과값: sinbi (신비, 18)


[예제2] 기본값 갖는 매개변수 여럿일 때, 1개만 지정 시 특히 유용.

 

using System;

namespace Homzzang

{

  class Program

  {

    static void Member(string id = "sinbi", string name = "신비", int age = 18)

    {

      Console.WriteLine(id + " (" + name + ", " + age + ")");

    }


    static void Main(string[] args)

    {

      Member(age:36);

    }

  }

}

 

결과값: sinbi (신비, 36) 



분류 제목
basic C# - Home (입문) - 추천 링크
basic C# - Intro (소개) - 용도・특징
basic C# - Start (시작) - Visual Studio Community 설치/실행/세팅
basic C# - Syntax (구문)
basic C# - Output (출력)
basic C# - New Lines (줄바꿈)
basic C# - Comment (주석)
basic C# - Variable (변수)
basic C# - User Input (사용자 입력)
basic C# - Data Type (데이터 타입) - 자료형 (종류 + 변환)
basic C# - Operator (연산자)
basic C# - String (문자열)
basic C# - Math (수학)
basic C# - Boolean (참거짓)
basic C# - If ... Else - (이프 조건문)
1/3
목록
 홈  PC버전 로그인 일본어
그누앞단언어
그누뒷단언어
그외코딩언어
그누보드
제작의뢰
Q&A
커뮤니티 2
웹유틸
회원센터
홈짱닷컴 PC버전 로그인