2개 이상 리턴 값을 반환하는 메서드 구현
2개의 정수값을 리턴하는 메서드를 구현하시오.
이 문제는 두개의 리턴 값을 반환하는 메서드 작성법을 아는지 묻는 문제이다.
import java.util.Arrays;
public class method_TwoReturn1 {
public static int[] testMethod() {
int num1 = 100;
int num2 = 200;
return new int[] {num1,num2};
}
public static void main(String[] args) {
// [1] : 배열 변수 선언
int result[] = testMethod();
// [2] : 출력
System.out.println(result);
System.out.println(Arrays.toString(result));
}
}
- 먼저 `testMethod` 메서드 내에서 두 개의 정수 변수, `num1, num2`가 각각 100, 200 으로 초기화 된다.
- 이 메서드는 이 두 변수를 포함하는 정수형 배열을 반환한다. 따라서 이 메소드를 호출하면 두 개의 정수 100과 200이 포함된 배열이 반환된다.
- main메서드 내에서 `testmethod`를 호출하고 그 결과를 `result`라는 배열에 저장한다. 여기서 `result`배열은 `testmethod`의 반환 값을 저장하므로 `result` 배열은 `{100, 200}`이 된다.
- 그 다음으로 `System.out.println(result);`가 호출되는데, 이는 배열 객체의 주소값을 출력하며, 배열 객체를 직접 출력하면 원하는 배열의 내용이 아닌, 배열 객체의 해시코드가 출력된다.
- 따라서, 배열의 실제 내용을 출력하려면 `Arrays.toString(result)`를 사용한다. `Arrays.toString()` 메소드는 배열의 모든 요소를 순회하며 각 요소를 문자열로 변환하고, 그 결과를 쉼표와 공백으로 구분하여 한 개의 문자열로 합친다. 이렇게 생성된 문자열은 대괄호(`[]`)로 둘러싸여 반환되므로 출력 결과는 `[100, 200]`이 된다.
위 코드를 실행하면 다음과 같은 출력값이 나온다.
[I@15db9742
[100, 200]
'Java > JAVA 100 문제 풀이' 카테고리의 다른 글
자바 part.3 문제풀이 - 클래스개념,정의 (0) | 2023.07.21 |
---|---|
자바 part.3 문제풀이 - TwoReturn2 (0) | 2023.07.20 |
자바 part.3 문제풀이 - Call by reference2 (0) | 2023.07.10 |
자바 part.3 문제풀이 - Call by reference (0) | 2023.07.09 |
자바 part.3 문제풀이 - Call by value (0) | 2023.07.09 |