인수 전달 방법

·2025년 4월 9일

Power Java

목록 보기
20/75

5.2 인수 전달 방법

-메소드를 호출할 때, 우리는
메소드(함수)로
데이터(인수)를 전달할 수 있다.

*기본적으로 전달되는 방법은
값에 의한 호출(call-by-value)이다.
인수의 값이 복사되어 매개 변수로 전달된다.

1) 기초형 값이 전달되는 경우
2) 객체가 전달되는 경우
3) 배열이 전달되는 경우

  1. 기초형 값이 전달되는 경우
    호출자가 전달하는 인수의 값이 매개 변수로 복사된다.
    (= 값에 의한 호출 방식)

*인수의 복사본이 만들어지며,
매개 변수를 변경하여도 메소드 외부에 있는 인수에 영향을 주지 않는다.

  1. 객체가 전달되는 경우
    객체의 참조값만 복사되어서 전달된다.
    (= 참조에 의한 호출 방식)


-참조 변수(객체)는 참조 값(주소)을 가지고 있다.
=> 참조 값이 복사되면 메소드의 매개 변수도 동일한 객체를 참조하게 된다.
메소드가 객체를 반환할 때도 객체가 통째로 반환되는 것이 아니라,
객체의 참조값만 반환된다.

  1. 배열이 전달되는 경우

(1) 배열 원소가 전달되는 경우
값이 복사되어 전달. (값에 의한 호출)
(2) 배열 전체가 전달되는 경우
배열 참조 변수를 복사하여 전달, 객체와 동일.
배열을 가리키는 참조값이 복사된다. (참조에 의한 호출)
=> 배열도 객체이기 때문
*원본 변경의 위험성이 있으나, 장점이 크기 때문에 조심해서 사용하면 된다.

0개의 댓글