25/03/14

Clean·2025년 3월 14일

함수


  • 함수는 특정 작업을 수행하는 코드 블록이다.

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello, World!");
    }
}

Visual Studio를 실행하면 기본적으로 보이는 코드이다.

바로 보이는 Main도 함수이며,


콘솔창에 값을 출력하는 WriteLine도 Console 클래스의 함수다.



아무래도 MSW에서도 사용해봤기에, 함수라는 개념이 어렵진 않다.


함수의 형태


//C# 함수의 기본 형태
반환 타입 함수명(매개변수) // 매개변수가 없어도 됨
{
	// 실행할 코드들
    return 반환할 값;   // 반환 타입이 void면 return이 없음
}

  • 반환 타입 : 함수가 반환하는 값의 데이터 타입 (void, int, float, bool 등)
  • 함수 명 : 함수를 호출할 때 사용하는 이름
  • 매개변수 : 함수를 호출할 때 전달되는 값 (없을 수도 있음)
  • return 반환할 값 : 반환 타입이 void가 아닐 경우, 결과 값을 반환해야 함

1. 반환 타입


// int 반환
int Function(int num1, int num2)
{
	int result = num1 + num2;

	return result;
}

// bool 반환
bool Function(int num)
{
    bool result = (num % 2 == 0);  // 짝수면 true, 홀수면 false

    return result;
}

함수는 반환 타입에 따라 반환값이 있을 수도 있고, 없을 수도 있다.
반환 타입에는 값을 반환하지 않는 void
값을 반환하는 int, float, bool 등의 데이터 타입이 있다.

함수명 앞에 어떤 반환 타입이 있는지 보면,
해당 함수가 어떤 값을 반환하는지 알 수 있다.


2. 함수명


함수명은 함수의 역할을 이해하기 쉽게 작성하는 것이 중요하다.
변수명과 마찬가지로, 해당 함수가 어떤 기능을 수행하는지 쉽게 파악할 수 있도록 정하는 것이 좋다.


3. 매개변수, return


매개변수

bool Function(int num) // num = 매개변수
{
    bool result = (num % 2 == 0);
    
    return result;
}

Function(6); // 6 = 인수

위의 코드에서 함수를 호출할 때의 값(6)을 인수라고 하며,
함수명 옆에 있는 괄호의 num매개변수라고 하며 인자라고도 한다.


return

void Chat(string name, string text)
{
    if (string.IsNullOrEmpty(text)) // 매개변수 text가 비어있으면
    {
        return;						// 채팅을 출력하지 않고 함수 탈출
    }

    Console.WriteLine($"{name} : {text}");
}


Chat("Clean", "");
Chat("Clean", "안녕하세요?");

void타입 함수에서는 보통 return을 사용하지 않지만,
특정 조건에서 함수를 탈출할 때 사용하기도 한다.

위의 Chat함수를 채팅기능을 하는 함수라고 해보자.
Chat(닉네임, 채팅)형식으로 호출하면 콘솔에 출력된다.
그러나 text 매개변수가 비어있으면 return을 실행하여 함수를 탈출한다.

그 외의 반환 타입 함수에서는 return과 반환할 값이 있어야 한다.


함수는 하나의 목적성을 가지고 작성해야 한다.

0개의 댓글