인수전달

Dec 21, 2023
인수전달

기초형 자료값이 전달 되는 경우

💡
  • 호출자가 전달하는 인수의 값이 매개 변수로 복사 된다.
    • 값 에 의한 호출 방식으로 전달한다.

객체가 전달되는 경우

💡
  • 객체의 참조 값만 복사 되어 전달된다.
    • 참조 변수는 주소 값을 가고 있다.
  • 참조 값이 매개 변수로 복사 될 때 매개 변수도 동일한 객체를 참조하게 된다.
  • 매개 변수를 통하여 객체의 내용을 변경하게 되면 인수가 가리키는 객체도 변경 된다.
package ex05; class Pizza{ int radius; Pizza(int r){ radius = r; } Pizza whosLargest(Pizza p1, Pizza p2){ if (p1.radius > p2.radius) { return p1; }else{ return p2; } } } public class PizzaTest { public static void main(String[] args) { Pizza obj1 =new Pizza(14); Pizza obj2 = new Pizza(18); Pizza largest = obj1.whosLargest(obj1, obj2); System.out.println(largest.radius + "인치 피자가 더 큼."); } }
 

배열이 전달 되는경우

💡
배열의 인덱스 값 들을 출력하는 메서드나 인덱스 값들의 평균을 구하는 메서드가 있을 때 사용 될 때 배열의 매개변수에 넣는데 이럴 때는 인덱스 값이 복사 되어서 전달되지만 배열 전체가 인수로 전달 될 때 배열 참조 변수를 복사한다.
package ex05; import javax.imageio.stream.ImageInputStream; public class ArrayArgumentTest { public static double minArray(double[] list) { double min = list[0]; for (int i = 1; i < list.length; i++) { if (list[i] < min) { min = list[i]; } } return (min); } public static void main(String args[]) { double[] a= {1.1, 2.2, 3.3, 4.4, 0.1, 0.2}; double[] b= {-2.0, 3.0, -9.0, 2.9, 1.5}; double min; min = minArray(a); System.out.println("첫 번째 배열의 최소값=" +min); min = minArray(b); System.out.println("두 번째 배열의 최소값=" +min); } }
 
Share article
RSSPowered by inblog