메서드 사용하기 실습
문제 1 참조형과 참조형이 아닌 경우의 가장 큰 차이는 메서드 호출에서 찾아볼 수 있습니다. 다음 코드는 기본형 변수 value와 참조형 변수 arr을 addOne이라는 메서드에 전달합니다. 두 메서드 모두 전달받은 값에 1씩 더해주는데, 메서드를 실행한 후 전달한 값을 출력하면 서로 결과가 다릅니다. 코드를 실행해 참조형과 기본형이 어떻게 다른지 확인해보세요.
package javaStudy; public class ReferenceTypeExam{ public static void main(String []args) { ReferenceTypeExam exam = new ReferenceTypeExam(); // 기본형 변수 value1을 addOne에 전달합니다. int value = 10; exam.addOne(value); System.out.println("기본형 변수의 값을 다른 메서드에서 변경한 결과: "+value); // 참조형 변수 arr을 addOne에 전달합니다. int []arr = {10}; exam.addOne(arr); System.out.println("참조형 변수의 값을 다른 메서드에서 변경한 결과: "+arr[0]); } public void addOne(int value) { value++; } public void addOne(int[] arr) { for(int i = 0; i<arr.length ; i++) { arr[i] ++; } } }
실행결과
기본형 변수의 값을 다른 메서드에서 변경한 결과: 10
참조형 변수의 값을 다른 메서드에서 변경한 결과: 11