재밌고 어려운 IT를 이해해보자~!

메소드 본문

C#

메소드

언제나즐거운IT 2024. 6. 29. 23:26

. C#에서의 메소드(Method)는, C언어와 C++의 함수(Function)와 비슷한 기능을 한다.

예를 들어서, 아래는 제곱 후 결과물을 출력하는 기능을 가진 메소드이다.

 static void square(int a) {
        Console.WriteLine("{0}*{1}={2}", a, a, a*a);
    }

 

[접근 지정자] 반환형식 메소드명(매개변수 목록) {
    // 실행될 코드
}

 

using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("{0}", Division(40, 10));
        }
 
        static int Division(int a, int b)
        {
            return a / b;
        }
    }
}

 

이런 형태로 Console.WriteLine을 사용해 바로 메소드를 호출해 사용이 가능하다.

 

using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 40;
            int b = 10;
 
            Console.WriteLine("Swap before: a={0}, b={1}", a, b);
 
            Swap(ref a, ref b);
 
            Console.WriteLine("Swap after: a={0}, b={1}", a, b);
        }
 
        static void Swap(ref int a, ref int b)
        {
            int temp = b;
            b = a;
            a = temp;
        }
    }
}

 

ref 를 사용해 call by reference가 가능하다.

ref 키워드를 사용하면 변수의 값을 그대로 전달하는 게 아닌, 변수의 메모리 주소를 전달한다고 기억하자

 

using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("{0}", Add(50, 10));
            Console.WriteLine("{0}", Add(544.2, 63.2));
            Console.WriteLine("{0}", Add(4, 7, 9));
        }
 
        static int Add(int a, int b)
        {
            Console.WriteLine("두 int형 끼리의 덧셈");
            return a + b;
        }
 
        static double Add(double a, double b)
        {
            Console.WriteLine("두 double형 끼리의 덧셈");
            return a + b;
        }
 
        static int Add(int a, int b, int c)
        {
            Console.WriteLine("세 int형 끼리의 덧셈");
            return a + b + c;
        }
    }
}

오버로딩 가능

 

params

params 키워드의 기능은 메소드에 여러개의 값을 전달할 수 있도록 도와준다.

 params 키워드 말고도 배열이란 개념이 사용

using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("sum={0}", total(20, 10, 40, 4, 7, 6, 44, 55, 2));
            Console.WriteLine("sum={0}", total(30, 4, 5));
        }
 
        static int total(params int[] list)
        {
            int sum = 0;
 
            for (int i = 0; i < list.Length; i++)
                sum += list[i];
 
            return sum;
        }
    }
}

'C#' 카테고리의 다른 글

클래스  (0) 2024.06.30
배열  (0) 2024.06.30
무한루프 제어문  (0) 2024.06.29
반복문  (0) 2024.06.28
조건문  (0) 2024.06.28
Comments