[Java] Arg, 가변형인수, 변수

고동이의 IT·2021년 11월 4일
0

Java

목록 보기
18/37
post-thumbnail

가변형 인수

  • 메서드의 인수값의 개수가 메서드를 호출할 때마다 다를 때 사용한다.

  • 가변형 변수는 메서드 안에서는 배열로 처리된다.
  • 가변형 변수는 한가지 자료형만 사용할 수 있다. public int sumArg(int...data, String... str) 오류

가변형 인수가 아닌 매개변수를 사용한 메서드

public int sumArr(int[] data){

	int sum = 0;

	for(int i=0; i<data.length; i++){
		sum+=data[i];
	}
	return sum;
}

가변형 인수를 이용한 메서드

public int sumArg(int...data){

	int sum = 0;

	for(int i=0; i<data.length; i++){
		sum+=data[i];
	}
	
	return sum;
}

가변형 변수와 일반적인 매개변수를 혼합해서 사용한 메서드

  • 단 이 때는 가변형 변수를 제일 뒤쪽에 배치한다. 왜?
  • public String sumArg2(int...data, int name) 일때 앞에 몇개를 가져가야 할지 구분하기 어렵기 때문
  • public String sumArg2(int name, int...data) 데이터가 여러개면 일반 변수에 한개 주고 나머지는 가변형 변수에 주면 됨
public String sumArg2(String name, int...data){
	int sum = 0;

	for(int i=0; i<data.length; i++){
		sum+=data[i];
	}
	return name+"씨 총점: "+ sum;
}

메인메서드에서 실행

public static void main(String[] args) {
ArgsTest t = new ArgsTest();
t.test(100, 200); 100,200 = 매개변수에 들어갈 인수값
		
int[] nums = {100,200,300};
		
int[] nums2;
nums2= new int[]{1,2,3,4,5};
		
System.out.println(t.sumArr(nums));
System.out.println(t.sumArr( new int[]{1,2,3,4,5}) );
System.out.println();
		
System.out.println("가변형 합계: "+ t.sumArg(100,200,300));
System.out.println("가변형 합계: "+ t.sumArg(1,2,3,4,5));
System.out.println();
		
System.out.println(t.sumArg2("홍길동", 1,2,3,4,5,6,7,8));
}
profile
삐약..뺙뺙

0개의 댓글