http://www.yes24.com/Product/Goods/103389317
Do it! 자바 완전 정복 책을 공부하며 요약・정리한 내용입니다.
메서드를 생성할때 입력 받는 매개변수의 개수를 모르는 경우에는
각각의 입력 개수에 따른 메소드를 모두 오버로딩해서 생성하는 방식이 아닌
가변 길이 배열 입력매개변수를 활용한 방식을 사용해야 한다.
쉽게 말하면 입력 받은 다양한 언어의 인사말을 출력하는 메소드를 만든다고 가정해보자.
그러면 몇개의 언어의 인사말을 입력받는지 예상하기 어렵다.
그렇다고 1개 입력받을때, 2개 입력받을때 ...
이렇게 각각의 개수만큼의 메소드를 오버로딩해 생성할 수도 없다.
이때 가변 길이 배열 입력변수를 활용하면 되는 것이다.
리턴 타입 메서드명 (자료형... 참조 변수명) {
...
}
e.g.
import java.util.Arrays;
public class FlexibleSizeArrayArgument {
public static void main(String[] args) {
method1("Hi", "안녕하세요!");
method1("안녕!");
method1("hi~", "안녕~", "하이~");
}
public static void method1(String... values) {
System.out.println("배열의 길이 : " + values.length);
// 배열 출력 방법 1
for (int i=0; i<values.length; i++) {
System.out.print(values[i] + " ");
}
System.out.println();
// 배열 출력 방법 2
for (String k: values) {
System.out.print(k + " ");
}
System.out.println();
// 배열 출력 방법 3
System.out.println(Arrays.toString(values));
System.out.println();
}
}
//--==>>
/*
배열의 길이 : 2
Hi 안녕하세요!
Hi 안녕하세요!
[Hi, 안녕하세요!]
배열의 길이 : 1
안녕!
안녕!
[안녕!]
배열의 길이 : 3
hi~ 안녕~ 하이~
hi~ 안녕~ 하이~
[hi~, 안녕~, 하이~]
*/
'Java > Java' 카테고리의 다른 글
상속(Java) (0) | 2022.04.27 |
---|---|
static 제어자 (Java) (0) | 2022.04.25 |
클래스 접근 지정자와 생성자 접근 지정자(java) (0) | 2022.04.20 |
long형과 float형 뒤에 ‘L’과 ’f’가 붙는 이유 (0) | 2022.01.23 |
터미널을 이용한 Java의 동작원리 (0) | 2021.12.28 |