무명 배열과 배열 복사

2023. 2. 17. 18:25카테고리 없음

<무명 배열>

자바에서는 배열의 이름을 지정하지 않고 단순히 초기값만으로 배열을 생성 시킬 수 있습니다.

무명 배열은 주로  즉시 배열을 만들어 함수의 인수로 전달하고자 할 때 사용됩니다.

 

무명 배열을 생성하는 방법은 아래와 같습니다.

new int[] { 1, 2, 3, 4, 5, 6, 7, 8,9,10 }

초기값들의 개수에 따라 배열의 크기가 결정됩니다.

 

무명배열은 1회용이라고 할 수 있습니다.

무명 배열은 딱 한 번 필요하고 다시는 참조할 일이 없는 곳에서 사용되기 때문입니다.

 

조금 더 깊게 설명하자면 배열을 필요하는 메소드가 있다고 할 때 우리는 이 메소드에 배열을 전달하려 합니다. 이 배열은 메소드에만 전달하면 되고 다른 곳에 일체 사용되지 않습니다, 이런 경우 무명 배열이 사용되는 것이죠

아래 코드가 예시 입니다.

package arrays;



public class AnonymousArray {
	public static void main(String[] args) {
		System.out.println("숫자들의 합: "+ sum(new int[] {1,2,3,4}));
        //무명 배열이 상성되어 sun()으로 전달
        }
	
	public static int sum(int[] numbers) {
		int total = 0;
		for (int i=0; i < numbers.length; i++) {
			total = total + numbers[i];
		}
		return total;
	}

}

 

<배열 복사>

하나의 배열 변수를 다른 배열 변수로 복사할 수 있습니다.

 

아래 코드가 실행되면 list 변수와 numbers 변수는 모두 동일한 배열 객체를 가리킵니다.

배열 변수의 경우 배열이 아닌 배열의 주소가 저장되어 있습니다.

int [] list = {10,20,30,40,50};
int [] numbers = list;

만약 한 배열의 모든 값을 다른 배열로 복사하고 싶다면 Arrays 클래스의 copyOf() 메소드를 사용하는 방법이 있습니다.

int [] list_copy = Arrays.copyof(list,list.length);

copyOF()는 특히 배열의 크기를 증가하는데 많이 사용됩니다.

예를 들어 현재 배열의 크기를 2배로 변경하려면 아래와 같은 문장을 사용할 수 있습니다.

list = Arrays.copyOF(list, 2 * list.length);

**<main 매개변수>**

자바 프로그램에는 main()메소드가 있고 main()은 Srting [] args 매개 변수를 가지고 있습니다.

이 매개 변수는  명령어 프롬프트에서 프로그램을 실행시킬 때 주는 인수들이 저장되는 문자열 배열입니다.