참조형 매개 변수

essential·2023년 5월 25일

객체 지향

목록 보기
11/40

참조형 매개 변수

  • 변수 의 값을 읽고 변경할 수 있다 ( read & write)
class Data2 { int x; }

class Ex6_7 {
	public static void main(String[] args) {
		Data2 d = new Data2();
		d.x = 10;
		System.out.println("main() : x = " + d.x);

		change(d);
		System.out.println("After change(d)");
		System.out.println("main() : x = " + d.x);
	}

	static void change(Data2 d) { // 참조형 매개 변수
		d.x = 1000;
		System.out.println("change() : x = " + d.x);
	}
}

객체의 주소를 넘겨줘서 x 에 대입이 가능

참조형 반환 타입

class Data3 { int x; }

class Ex6_8 {
	public static void main(String[] args) {
		Data3 d = new Data3();
		d.x = 10;

		Data3 d2 = copy(d); 
		System.out.println("d.x ="+d.x);
		System.out.println("d2.x="+d2.x);
	}

	static Data3 copy(Data3 d) {
		Data3 tmp = new Data3();    // 새로운 객체 tmp 를 생성한다

		tmp.x = d.x;  // d.x의 값을 tmp.x 에 복사한다
		return tmp;   // 복사한 객체의 주소를 반환한다.
	}
} 

** static 은 객체 생성 없이 호출 가능

profile
essential

0개의 댓글