본문 바로가기
프로그래밍/C#

[C#] 메서드

by 아임코딩 2023. 5. 5.
728x90
반응형

소개

 

안녕하세요 아임코딩입니다.

이번에는 C#에서 제공하는 메서드에 대해서 알아보겠습니다.

 

메서드란?

 

메서드는 다른 말로 함수라고도 합니다.

메서드는 일련의 코드를 포함하는 코드 블록입니다.

간단하게 생각하면 코드들의 집합이라고 생각하면 됩니다. 용도에 맞게 코드들을 묶음으로 관리하는 것입니다.

프로그램을 통해 메서드를 호출하고 필요한 메서드 인수를 지정하여 메서드를 실행합니다.

C#에서는 실행된 모든 명령이 메서드의 단위로 수행됩니다.

 

 

유튜브 링크

https://youtu.be/3_TP2DU7oDA

 

메서드의 구조

메서드의 구조는 다음과 같습니다.

[접근제한자] [반환타입] [메서드이름] ( [매개변수들] )
{
	//메서드 코드 블록
	//
}

 

  • 접근제한자 : 메서드를 외부에서 참조할 수 있는 범위를 나타냅니다. 메서드 자체에 집중하기 위해서 public 을 사용하고 접근제한자에 대한 내용은 추후에 따로 다루겠습니다.
  • 반환타입 : 메서드가 호출되고 메서드가 실행이 된 후에 실행 결과를 반환합니다. 
  • 메서드 이름 : 메서드의 이름입니다.
  • 매개변수들 : 메서드를 호출할 때 전달할 매개변수입니다.

 

 

클래스의 기초적인 내용을 잘 모르겠다면 아래의 글을 확인해주세요!

2023.05.05 - [프로그래밍/C#] - [C#] 클래스

 

 

설명만으로는 이해가 잘 안 될 수도 있기 때문에 차근차근 예제 코드를 통해서 확인해보겠습니다.

 

반환x 매개변수x 메서드

public void PrintHello()
	{
		Console.WriteLine("Hello");
		Console.WriteLine("World");
	}

반환값이 없으므로 void 를, 매개변수가 없으므로 () 안에 아무 값도 없는 것을 확인할 수 있습니다.

PrintHello 라는 이름을 가진 이 함수는 

Console.WriteLine("Hello");

Console.WriteLine("World");

두 코드가 함수의 전부입니다.

 

PrintHello() 함수가 호출되면

Console.WriteLine("Hello");

Console.WriteLine("World");

두 코드가 실행이 되는 것입니다.

 

using System;
namespace Tistory
{
    internal class Program
    {
        public class Print
        {
            public void PrintHello()
            {
                Console.WriteLine("Hello");
                Console.WriteLine("World");
            }
        }
        static void Main(string[] args)
        {
            Print myP = new Print();

            myP.PrintHello();
        }
    }
}

 

클래스 Print 안에 메서드 PrintHello() 를 만들고

Main 함수에서 Print 객체 myP를 만들고

myP를 이용하여 PrintHello() 메서드를 호출한 결과입니다.

PrintHello() 메서드가 호출되면 

Console.WriteLine("Hello");

Console.WriteLine("World");

두 코드가 실행되므로

화면에는

Hello
World

가 출력되는 것을 확인할 수 있습니다.

 

 

 

반환x 매개변수o 메서드

 

매개변수는 메서드에 전달할 특정한 값입니다.

 

public void PrintHello(string str)
	{
		Console.WriteLine(str);
	}

이 메서드는 매개변수로 받은 문자열을 화면에 출력하는 메서드입니다.

 

PrintHello("매개변수로 전달할 문자열");

 

PrintHello() 함수를 호출할 때 매개변수로 전달할 문자열을 () 소괄호 안에 전달해주면 됩니다.

 

예제코드를 살펴보겠습니다.

 

using System;
namespace Tistory
{
    internal class Program
    {
        public class Print
        {
            public void PrintHello(string str)
            {
                Console.WriteLine(str);
            }
        }
        static void Main(string[] args)
        {
            Print myP = new Print();

            myP.PrintHello("매개변수로 전달한 문자열");
        }
    }
}

 

PrintHello() 를 호출할 때 매개변수 값으로 "매개변수로 전달한 문자열" 이라는 문자열을 전달했습니다.

그래서 매개변수로 받은 문자열이 화면에 출력된 것입니다.

 

 

 

반환o 매개변수x 메서드

 

반환값은 있고 매개변수는 없는 메서드를 살펴보겠습니다.

public int ReturnTen()
	{
		return 10;
	}

함수가 호출되면 항상 10을 반환하는 함수입니다.

위의 예시에서는 int 반환 자료형을 명시해줬습니다.

함수에서 반환을 하는 방법은 return 예약어를 사용해서 반환할 데이터를 반환해줍니다.

return 으로 반환한 데이터는 함수를 호출한 자리에 남습니다.

 

이 메서드를 이용한 예제를 확인해보겠습니다.

using System;
namespace Tistory
{
    internal class Program
    {
        public class Print
        {
            public int ReturnTen()
            {
                return 10;
            }
        }
        static void Main(string[] args)
        {
            Print myP = new Print();

            Console.WriteLine(myP.ReturnTen());
        }
    }
}

 

myP 객체를 이용해서 myP.ReturnTen() 함수를 호출합니다.

myP.ReturnTen() 함수가 호출되면 ReturnTen() 함수는 10을 반환하고 함수가 종료됩니다.

10이라는 값이 반환되면 myP.ReturnTen() 이 있던 자리에는 10이 반환이 되고

최종적으로

Console.WriteLine(10); 이 실행이 되는 것과 같기 때문에 화면에는 10이 출력되는 것을 확인할 수 있습니다.

 

 

 

 

반환o 매개변수o 메서드

public int Sum(int num1, int num2)
	{
		return num1 + num2;
	}

 

위의 메서드는 int 형 변수 두 개를 매개변수로 받아서 그 합을 반환해주는 함수입니다.

반환값이 있는 메서드는 함수를 정의할 때 반환 자료형을 명시해줍니다.

위의 예시에서는 int 반환 자료형을 명시해줬습니다.

함수에서 반환을 하는 방법은 return 예약어를 사용해서 반환할 데이터를 반환해줍니다.

return 으로 반환한 데이터는 함수를 호출한 자리에 남습니다.

 

 

using System;
namespace Tistory
{
    internal class Program
    {
        public class Print
        {
            public int Sum(int num1, int num2)
            {
                return num1 + num2;
            }
        }
        static void Main(string[] args)
        {
            Print myP = new Print();
            int result;

            result = myP.Sum(10, 20);

            Console.WriteLine(result);  
        }
    }
}

 

myP 객체를 이용해서 Sum(10, 20); 메서드를 호출합니다.

10, 20 의 값은 Sum(int num1, int num2) 에 전달이 됩니다.

num1 = 10, num2 = 20 ; 으로 전달이 됩니다.

return num1 + num2; 가 실행이 되면 함수가 종료되고 30이라는 값이 반환되어

Main 함수 안에 있는 

result = myP.Sum(10, 20); 코드는 함수가 끝난 후

result = 30; 이 되는 것입니다.

결과적으로 result 값을 출력하면 30이 나오는 것입니다.

728x90
반응형

'프로그래밍 > C#' 카테고리의 다른 글

[C#] 캡슐화  (0) 2023.05.05
[C#] 객체지향 프로그래밍 언어 특징  (0) 2023.05.05
[C#] 클래스 class  (0) 2023.05.05
[C#] 배열  (0) 2023.05.04
[C#] while 반복문  (0) 2023.05.04