매개변수 전달기법(parameter passing)

Soobin Kim·2024년 3월 27일

Java

목록 보기
12/47

Call By Value(값 전달)

public static void main(String[] args){
    int a = 10;
    int b = 20;
    sum = add(a, b); // 값을 직접 전달
}

public int add(int a, int b){
    int sum = a + b;
    return sum;
}
  • Call By Value는 메서드에 값을 전달할 때, 변수의 을 전달하는 방식이다. 메서드 내에서 해당 값을 변경해도 호출한 곳의 변수 값에는 영향을 미치지 않는다.

Call By Reference(번지 전달)

public static void main(String[] args){
    int[] a = {1, 2, 3, 4, 5};
    sum = add(a); // 참조값을 전달
}

public int add(int[] a){
    int sum = 0;
    for(int i = 0; i < a.length; i++){
        sum += a[i];
    }
    return sum;
}
  • Call By Reference는 메서드에 참조값(주소)을 전달하는 방식이다. 메서드 내에서 참조된 객체나 배열의 값을 변경하면, 호출한 곳의 값도 변경된다.
  • 참조값에 있는 값이 무엇인지 확인할 필요가 있다.

0개의 댓글