Java/Chapter

Java Chapter.9 - 매개변수(파라미터) - Call by Value, reference

Marmellata 2023. 3. 30. 15:22

매개변수는 대개 2가지 방식으로 넘어온다.

Call by value

reference

 

  • 기본자료형 - Call by value
  • 배열, 클래스 (참조 자료형) - Call by reference

New -> reference (배열, Scanner 등..)

 

Call by value

value 값을 불러온다고 한다해도, 값만 불러온 것이지,

해당 값의 본체는 영향이 없다.

 

Reference

배열, 클래스를 불러와 그 값을 다룬다면,

해당 값의 본체에 영향이 있다.

 

 

 

 

Call by value 사용 예시

package Day13;

public class CallRefTest {

	static void abc (int a) {
		a = 10;
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
	int a = 5;
	abc(a);
	System.out.println(a);
	
		
	}

}

출력 결과

5

함수 내에서만 a 값을 다루지, main 문 안에서는 영향이 없다.

 

 

 

Reference 사용 예시

package Day13;

public class CallRefTest {

	static void abc (int[] a) {
		a[0] = 10;
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
	int []a = new int [1];
	a[0]=1;
	abc(a);
	System.out.println(a[0]);
	
		
	}

}

출력 결과

10

Reference 는 참조 자료형 배열, 클래스를 다루며, 함수내에서 자료를 변경 후,

Main 안에 출력해도 값이 반영된다.