본문 바로가기

자바

여러 개의 값을 리턴하기

class ReturnTest1{

public static void main(String[] args){

ReturnTest r = new ReturnTest();


int result = r.add(3,5);

System.out.println(result);


int[] result2 = {0};

r.add(3,5,result2);

System.out.println(result2[0]);

}


int add(int a, int b){

return a+b;

}


void add(int a, int b, int[] result){

result[0] = a + b;

}

}


위의 예제의 결과는

8

8

이다.


위의 예제에서 맨 아래의 메서드는 리턴값이 없지만 리턴되는 효과를 얻었다.

찹조형 매개변수(여기서는 배열)를 이용하여 값을 설정하였기에 void에서도 리턴되는 효과를 얻을 수 있는 것이다.

이것을 응용한다면 하나의 메서드에서 여러 개의 값을 리턴되는 효과를 얻을 수 있다.


class ReturnTest2{

public static void main(String[] args){

ReturnTest r = new ReturnTest();


int[] result1 = {0};

int[] result2 = {0};

int[] result3 = {0};

r.add(result1,result2,result3);

System.out.println(result1[0]);

System.out.println(result2[0]);

System.out.println(result3[0]);

}


void add(int[] a, int[] b, int[] c){

a[0] = 1 + 2;

b[0] = 3 + 4;

c[0] = 5 + 6;

}

}


결과

3

7

11


참고 : 자바의 정석

'자바' 카테고리의 다른 글

초기화 블럭 - 변수 선언의 또 다른 방법  (0) 2014.01.15
생성자를 이용한 인스턴스의 복사  (0) 2014.01.15
자바 class의 구성  (0) 2014.01.07
자바의 THIS  (0) 2014.01.07
자바에서 session 정보 가져오기  (0) 2013.10.04