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 안에 출력해도 값이 반영된다.