가변 길이 인자를 사용하는 방법은 무엇인가요?
가변 길이 인자(Variable-length Arguments)는 함수에 전달하는 인자의 개수가 고정되어 있지 않고, 필요에 따라 여러 개 또는 0개 이상의 인자를 전달할 수 있도록 하는 기능입니다.
이를 통해 함수 호출 시 보다 유연하게 인자를 처리할 수 있습니다.
프로그래밍 언어마다 가변 길이 인자를 처리하는 문법이 다르지만, 대표적인 언어들에서 사용하는 방법을 중심으로 설명하겠습니다.
--- 1. Python에서 가변 길이 인자 Python에서는 `*args`와 ` kwargs` 문법을 사용하여 위치 인자와 키워드 인자를 각각 가변 길이로 받을 수 있습니다.
1-1. 위치 인자 가변 길이: *args ```python def func(*args): for arg in args: print(arg) func(1, 2, 3) 출력: 1 2 3 ``` - `*args` 는 함수 내에서 튜플(tuple) 형태로 전달된 인자들을 담습니다.
- 인자의 개수에 제약이 없고, 0개도 가능합니다.
1-2. 키워드 인자 가변 길이: kwargs ```python def func( kwargs): for key, value in kwargs.items(): print(f"{key} = {value}") func(a=1, b=2) 출력: a = 1 b = 2 ``` - ` kwargs` 는 딕셔너리(dictionary) 형태로 전달된 키워드 인자를 받습니다.
- 키=값 형태의 인자들을 여러 개 전달할 수 있습니다.
1-3. *args와 kwargs 함께 쓰기 ```python def func(*args, kwargs): print("args:", args) print("kwargs:", kwargs) func(1, 2, a=3, b=4) 출력: args: (1, 2) kwargs: {'a': 3, 'b': 4} ``` --- 2. C언어에서 가변 길이 인자 C언어에서는 `
```c include
```java public class Main { public static void printNumbers(int... numbers) { for (int num : numbers) { System.out.println(num); } } public static void main(String[] args) { printNumbers(1, 2, 3); } } ``` - `int... numbers`는 여러 개의 `int` 값을 배열로 받을 수 있음 - 메서드 내에서는 `numbers`가 배열처럼 처리됨 --- 4. 요약 | 언어 | 문법 / 키워드 | 가변 인자 형태 | 설명 | |--------|---------------------|-----------------------|---------------------------------------| | Python | `*args`, ` kwargs` | 위치 인자, 키워드 인자 | 튜플과 딕셔너리로 가변 인자 받음 | | C | `