티스토리 뷰
728x90
반응형
목차
Variable Arguments
가변인자는 JDK 1.5부터 도입된 개념이다. 이름 그대로 개수가 동적으로 변하는 인자를 처리하기 위한 기능이다.
가변인자가 도입되기 전까지는 배열을 사용했다고 하며, 현재도 내부적으로는 배열로 처리되고 배열로 다룰 수 있다고 한다.
사용하는 방법은 매개변수의 타입 뒤에 '...'을 붙여서 표시하며, 이상의 주요 특징을 요약하면 아래와 같다.
- 개수가 변하는 인자를 메서드의 매개변수로 전달 가능
- 메서드 내부에서는 배열로 처리되므로 유사하게 다룰 수 있음
- 필요에 따라 다른 매개변수와 함께 사용하는 것도 가능
나는 이제야 경험해 보았지만 코드의 가독성이 좋아지고 작성이 제법 간결해진다.
얼른 익숙해져서 마음껏 사용해야 하는데...
Example
가장 간단한 예는 아래와 같을 것이다.
public class Example {
public static void main(String[] args) {
printString("apple", "lemon", "strawberry");
}
public static void printString(String... str) {
for (String s : str) {
System.out.println(s);
}
}
}
apple
lemon
strawberry
String... 을 이용해 가변 인자를 메서드의 매개변수로 받고,
내부적으로 배열과 동일하게 처리하는 것을 확인할 수 있다.
다른 매개변수와 함께 사용하면 다음과 같은 코드를 구성할 수 있다.
public class Example {
public static void main(String[] args) {
printString("Name: ", "apple", "lemon", "strawberry");
}
public static void printString(String name, String... str) {
for (String s : str) {
System.out.println(name + s);
}
}
}
Name: apple
Name: lemon
Name: strawberry
추가로 당연하게도 가변 인자는 문자열뿐 아니라 int, long과 같은 기본형 변수에도 사용할 수 있다.
public class Example {
public static void main(String[] args) {
printNumber("Number: ", 1, 2, 3);
}
public static void printNumber(String name, int... num) {
for (int n : num) {
System.out.println(name + n);
}
}
}
Number: 1
Number: 2
Number: 3
반응형
'Java+Spring > Java' 카테고리의 다른 글
[Java]기본 자료형(primitive type)이 null을 가질 수 없는 이유 (0) | 2024.07.22 |
---|---|
[Java]자바 제네릭(Generic) (0) | 2024.07.21 |
[Java]Java17, System.err.println() (0) | 2023.06.11 |
[Java]전략패턴 (2) | 2023.05.18 |
[Java]싱글톤 패턴(Singleton Pattern) (0) | 2023.05.03 |
[Java]Map.Entry 인터페이스 (0) | 2023.03.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 면접 준비
- 동적계획법
- 중남미
- 맛집
- 세계일주
- RX100M5
- Python
- 유럽여행
- 백준
- a6000
- 스트림
- 야경
- 자바
- 파이썬
- BOJ
- 여행
- java
- 지지
- 스프링
- 세계여행
- spring
- 세모
- 알고리즘
- 리스트
- Backjoon
- Algorithm
- 기술면접
- 칼이사
- 남미
- 유럽
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함