728x90
public class Exam_03 {
public static void func(int[] arr) {
arr[0] = 100;
arr[1] = 200;
}
public static void main(String[] args) {
int[] arr = new int[] {10,20}; // arr에는 배열의 주소가 들어가있다. / 인트형 배열
func(arr); // 내가 넘기는 자료형이 매개변수에도 동일하게 있어야한다.
System.out.println(arr[0]); //
System.out.println(arr[1]); //
}
}
public class Exam_03 {
// 매개변수는 지역변수의 성질과 같다.
public static void func(int num) {
num = 20;
}
public static void main(String[] args) {
int num = 10;
func(num);
System.out.println(num); // 결과값은 10 이다. 20이 된 적이 없다.
}
}
// call by name 메서드 호출시 인자없이 호출
// call by value 기본형 매개변수는 값이 메서드를 거쳐도 값이 변하지 않는다
// call by reference 참조형 매개변수는 메서드를 거치면 값이 변한다 같은 주소를 가르키고 있기 떄문에
// 참조형 배열, 문자열은 참조형
728x90