본문 바로가기

내배켐 Unity TIL

Unity 11일차 TIL - Func, Action

Func와 Action은 델리게이트를 대체하는 미리 정의된 zenuric  형식이다.

Func와 Action은 zenuric 형식으로 미리 정의되어 있어서 매개변수와 반환 타입을 간결하게 표현할 수 있다.

 

1. Func

Func는 값을 반환하는 method를 나타내는 delegate이다.

마지막 zenuric 형식 매개변수는 반환 타입을 나타낸다.

ex) Func<int, string> 이라면 int는 입력으로 받고, string을 반환하는 method를 나타낸다.

 

사용 예제)

// Func를 사용하여 두 개의 정수를 더하는 메서드
int Add(int x, int y)
{
    return x + y;
}

// Func를 이용한 메서드 호출
// int 2 개를 입력으로, 마지막 int는 반환타입
Func<int, int, int> addFunc = Add;
int result = addFunc(3, 5);

Console.WriteLine("결과: " + result);

// 출력
// 결과: 8

 

2. Action

Action은 값을 반환하지 않는 method를 나타내는 delegate이다.

매개변수를 받아들이지만, 반환 타입이 없다.

ex) Action<int, string> 이라면 int와 string을 입력으로 받고, 아무런 값을 반환하지 않는 method를 나타낸다.

 

사용 예제)

// Action을 사용하여 문자열을 출력하는 메서드

void PrintMessage(string message)
{
    Console.WriteLine(message);
}

// Action을 이용한 메서드 호출
Action<string> printAction = PrintMessage;

printAction("Hello, World!");

// 출력
// Hello, World!

 

아직 정확히 어떻게 활용해야 될지 감이 안 잡히지만, 나중에 활용하게 될 때 활용 예시도 수정해서 올려야겠다.