본문 바로가기
C# 코딩챌린지/C# 개념 설명

메소드의 매개변수에 대해

by 썬's 2024. 3. 14.

안녕하세요 보글리아입니다.

이번 시간에는 메소드의 매개변수에 대해 알아보는 시간을 가져볼까 합니다.

 


 

메소드에서 사용하는 매개변수란 뭘까요? 아니 그전에 메소드란 뭘까요?

메소드는 C언어나 C++에서 사용하는 함수와 비슷합니다. 역시 함수처럼 매개변수도 같습니다.

우선 코드 하나를 먼저 보겠습니다.

using System;

namespace MyFunction
{
    class MyCal
    {
        public static int Plus(int a, int b)
        {
            return a + b;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            int x = 5;
            int y = 7;
            int reuslt = MyCal.Plus(x, y);
            Console.WriteLine(reuslt);
        }
    }
}

 

이 코드에서 int result = Mycal.Plus(5, 7) 부분을 주목해 주시기 바랍니다.

x에 5를 대입하고 y에는 7을 대입했습니다. 그리고 Plus 메소드의 매개변수에 값을 전달하기 위해 x와 y를 a와 b 인수로 넘기기 위해 x, y를 메소드 안에 대입했습니다.

 

여기서 여러분들에 물어볼게 있습니다. main문에서 선언한 x와 y의 메소드는 a와 b의 메소드로 들어가는 것일까요?

정답은 아닙니다. 매개변수도 변수입니다. 매개변수의 역할은 외부의 데이터를 전달받는 역할을 할 뿐이기 때문에 x와 y가 a와 b로 대체되는 게 아닌 x와 y의 값인 5와 7이 a와 b로 복사되는 것일 뿐입니다.

 

즉 x와 a는 둘 다 값이 5로 동일하지만, x와 a는 별개의 변수이며 각각의 고유한 메모리 공간을 가지고 있습니다. 이처럼 메소드를 호출할 때 데이터를 복사해서 매개변수에 넘기는 것을 값에 의한 전달이라고 합니다.

 


오늘은 메소드에서 가장 중요하다고 할 수 있는 매개변수가 main문 안에 변수랑 어떻게 다른지 간략히 알아봤습니다. 그럼 다음에는 또 새로운 개념으로 찾아뵙겠습니다!!

 

댓글