○ 비정형인자, 가변인자
파라미터를 1차원 배열객체로 전달받음
가변인자는 무조건 제일 마지막 자리에 와야한다
● 리턴형 함수명(자료형 변수명, 자료형...변수명) {
}
○ 예제소스
파일명 : Test5.java
package java0713;
class MethodTest4 {
// 메소드 add() 정수형값 2개 받아서 합을 리턴해줌
int add(int a, int b) {
return a+b;
}
// 메소드 add() 정수형값 3개 받아서 합을 리턴해줌
int add(int a, int b, int c) {
return a+b+c;
}
// 메소드 add() 정수형값 4개 받아서 합을 리턴해줌
int add(int a, int b, int c, int d) {
return a+b+c+d;
}
// 메소드 add() 정수형값 개수에 상관없이 받아서 합을 리턴해줌
int add(int...num) {
int sum = 0;
for (int n : num) {
sum += n;
}
return sum;
}
// // 에러. 가변인자는 제일 마지막에 와야됨
// int add(int...num, String str) {
// return 0;
// }
int add(String str, double dblNum, int...num) { // 가변인자는 제일 마지막에 와야됨
System.out.println(str);
int sum = 0;
for (int n : num) {
sum += n;
}
return sum;
}
}
public class Test5 {
public static void main(String[] args) {
MethodTest4 mt = new MethodTest4();
System.out.println(mt.add(10, 20));
System.out.println(mt.add(10, 20, 30));
System.out.println(mt.add(10, 20, 30, 40));
// 가변인자로 선언된 오버로딩 메소드 호출
System.out.println(mt.add(10, 20, 30, 40,50));
System.out.println(mt.add(10,20,30,40,50,60,70,80,90,100));
System.out.println(mt.add("문자열", 2.7, 10, 20, 30));
}
}
'IT > Java' 카테고리의 다른 글
자바 데이터은닉, 객체배열 (0) | 2018.07.16 |
---|---|
자바 접근지정자 public, protected, 생략(package), private (1) | 2018.07.16 |
자바 메소드 오버로딩, 비정형인자, 가변인자 예제소스 (0) | 2018.07.16 |
자바 클래스 메소드 오버로딩 (0) | 2018.07.15 |
자바 클래스(Class), 생성자, this, this() (0) | 2018.07.12 |