예습/code

기본형 매개변수

밀김 2023. 1. 13. 10:28
728x90

 

 

 

 

public class Ch0202 {
	public static void main(String[] args) {
		Data d = new Data(); //1.객체d 생성
		d.x = 10; //3.객체d가 가리키고있는 x에다가 10을 대입해줌
		System.out.println("main(): x ="+ d.x); //4.객체d가 가리키고 있는 x의 값 출력. main=10
		
		change(d.x); //5.객체d 호출스택위에 change스택이 쌓임. 그 스택이 객체d가 갖고있는 x의 값을 가리킴
		System.out.println("After change(d.x)"); //9.문자열 출력
		System.out.println("main(): x ="+ d.x); //10.change스택은 종료되고 없어졌기 때문에 main값은 그대로 10
	}
	
	static void change(int x) { //6.change스택이 그대로 내려와서
		x=1000; //7.x의 값에 1000을 대입함
		System.out.println("change(): x ="+x); //8.그 결과값은 1000출력되고 스택은 종료되어 사라짐. 
	}

}

class Data {int x;} //2.객체 멤버수를 나타냄. x 하나뿐이다

 

내맘대로 예제..

 

 

public class Ch0202 {
	public static void main(String[] args) {
		 Data x = new Data();
		 x.a = 8;
		 x.b =5;
		 System.out.println("x.a = "+x.a);
		 System.out.println("x.b = "+x.b);

		 change(x.a, x.b); //여기서 호출을 해줘야한다
		 System.out.println("x가 가리키는 a와 b의 값 = "+x.a+x.b);
		 
	}
	
static void change(int a, int b) {
	a = 100;
	b = 300; //매서드에서 값을 변경해주고
	 System.out.println("change.a = "+a);
	 System.out.println("change.b = "+b);
}

}


class Data {
	int a;
	int b;
}

 

 

 

 

 

 

728x90