기본형 매개 변수와 참조형 매개변수

7887 단어 JavaJava

자바에서는 메서드를 호출할 떄 매개변수로 지정한 값을 메서드의 매개변수에 복사해서 넘겨준다.
매개변수의 타입이 기본형(primitive type)일 때는 기본형 값이 복사되겠지만,
참조형(reference type)이면 인스턴스의 주소가 복사된다

  • 기본형 매개변수: 변수의 값을 읽기만 할 수 있다 (read only)

  • 참조형 매개변수 변수의 값을읽고 변경할 수 있다.(read & write)

  • 배열

배열도 객체와 같이 참조변수를 통해 데이터가 저장된 공간에 접근한다 그러므로 배열을 매개변수로 사용한다는 것은 참조형 매개변수를 사용하는것과 같다.



class Data {int x;}

public class primitive_param {

	public static void main(String[] args) {

		Data d = new Data();
		d.x=10;
		System.out.println("main () : x =" +d.x);
		
		change(d.x);
		System.out.println("After change()");
		System.out.println("main () : x =" +d.x); //x = 10 
		
	}
	//기본형 매개변수가 들어옴
	static void change(int x) {
		x=1000;
		System.out.println("change(): x = " +x);
		
	}
}

참조형 매개변수 예:

class Data1 {int x;}

public class reference_param {

	public static void main(String[] args) {
		Data1 d = new Data1();
		d.x=10;
		System.out.println("main () : x =" +d.x);
		
		change(d);
		System.out.println("After change()");
		System.out.println("main () : x =" +d.x); //x= 1000
	}
    
    //참조형 매개변수
	static void change(Data1 d) {
		d.x =1000;
		System.out.println("change() : x" +d.x);
	}

}


좋은 웹페이지 즐겨찾기