자바 문법
자바 메소드에서 배열 리턴
Nickman
2024. 4. 8. 12:16
메소드에서 어떤 배열이든지 리턴하면, 배열 공간 전체가 아니라 배열에 대한 레퍼런스만 리턴된다.
int[] makeArray() { //리턴타입과 메소드 이름
int temp[] =new int[4];
return temp;
}
배열에 대한 래퍼런스만 리턴한다는 게 뭔소린가 싶다. 배열의 크기가 아니라 래퍼런스만 리턴한다는 뜻인데
일단 위의 makeArray() 메소드로부터 배열을 리턴받는 코드를 보자.
int [] arr; //makeArray()의 리턴 타입과 동일한 타입 선언
arr=makeArray(); //makeArray()메소드가 리턴하는 배열 받음
즉 int [ ] arr 배열 선언 후 new int[4] 라는 방식으로 배열을 생성한다는 뜻이다.
붕어빵틀 - 붕어빵 같은 경우인 것 같다.
연습해보자
public class ReturnArray{
static int[] makeArray() { //정수형 배열을 리턴하는 메소드
int temp[] =new int[4]; //배열 생성
for(int i=0; i<temp.length; i++){
temp[i]=i; //배열의 원소를 0,1,2,3으로 초기화
}
return temp; //배열 리턴
}
public static void main (String[] args){
int arr[]; //배열에 대한 레퍼런스 변수 선언
arr=makeArray[]; //메소드로부터 배열 전달 받음
for(int i=0; i<arr.length;i++){
System.out.print(arr[i]+" "); //배열 모든 원소 출력
}
}
배열로 붕어빵찍기 연습 인 것 같다. 배열은 코테 연습을 많이 해 보아야 익숙해질 것 같다.