예습/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