Unity/기능

[Unity] 매개변수 params

turbulence93 2025. 8. 8. 22:26

1. 개념 정리

  • params는 C#에서 가변 인자(Variable Arguments)를 받을 수 있게 해주는 키워드이다.
  • 메서드 매개변수에 params를 붙이면, 호출 시 여러 개의 인자를 쉼표로 나열해서 전달할 수 있으며, 내부에서는 배열로 처리된다.
public void PrintNumbers(params int[] numbers)
{
    foreach (int number in numbers)
    {
        Debug.Log(number);
    }
}

2. 사용 목적

  • 인자의 개수가 유동적일 때 유용하다.
  • 매번 배열을 새로 만들어 넘기지 않아도 되므로 가독성과 사용 편의성이 높다.

3. 호출 방법 예시

PrintNumbers(1, 2, 3);               // OK
PrintNumbers();                      // OK (빈 배열로 처리)
PrintNumbers(new int[] { 4, 5, 6 }); // OK (배열로 직접 전달)

4. 주의 사항

  • params는 반드시 매개변수 목록의 마지막에만 올 수 있다.
  • 내부에서는 배열로 처리되므로, 성능 민감한 곳에서는 GC 부담이 될 수 있다.
  • params를 썼다고 해서 오버로딩이 막히는 건 아니지만, 시그니처 혼동에 주의해야 한다.

5. 요약

항목 설명
키워드 목적 가변 인자 지원 (인자 0개 이상 가능)
내부 처리 배열로 자동 변환
장점 호출 간결, 가독성 ↑
단점 배열 생성으로 인한 GC 부담 가능

 

'Unity > 기능' 카테고리의 다른 글

[Unity] 회피 구현하기  (0) 2025.09.12
[Unity] Find 함수  (2) 2025.08.07
[Unity] CPU 와 GPU  (1) 2025.08.05
[Unity] New Input System 사용하기3  (0) 2025.07.18
[Unity] 람다의 캡처와 클로저 개념  (2) 2025.07.17