using System;

public class 메서드
{
    public static void Main()
    {
        int a = 10;
        int b = 20;
        int c; // 초기화하지 않음 => 어차피 Test에 의해서 초기화 된다면 그 시간도 아끼겠다...

        Test(a, ref b, out c);
        Console.WriteLine("메인 : a : {0}, b : {1}, c : {2}", a, b, c); // 10, 200, 300

        // 매개변수로 단일데이터 넘겼을때
        TestParams(10); // 값 설정
        int[] data = { 10, 20 }; TestParams(data); // 배열 설정
        TestParams(new int[] { 10, 20, 30 }); // 참조 설정

        // 매개변수로 가변데이터 넘겼을때
        TestParams(10, 20); TestParams(10, 20, 30); TestParams(10, 20, 30, 40);
       

    }

    public static void TestParams(params int[] arr)
    {
        foreach (int item in arr)
        {
            Console.WriteLine("{0}", item);   
        }
    }

    public static void Test(int a, ref int b, out int c)
    {
        a = 100; b = 200;
        c = a + b; // c를 할당
        Console.WriteLine("테스트 : a : {0}, b : {1}, c : {2}" , a, b, c); // 100, 200, 300
    }
}

Posted by holland14
: