package ch05;
public class Ch0506
{
public Ch0506()
{
// TODO 자동 생성된 생성자 스텁
int x=1, y=1;
//기본자료형을 매개변수로 전달할 경우
//사본을 전달하게 되므로 원본은 아무런 변화가 없다.
valuechange(x,y);
System.out.println("x : "+x+", y : "+y);
Car car = new Car("xxx","yyy");
referenceChange(car);
car.print();
}
public static void main(String[] args)
{
new Ch0506();
}
//클래스 자료형을 매개변수로 전달할 경우
//원본이 전달되어 넘어오며 이의 멤버변수값을
//바꿀 경우 원본을 바꾸는 것과 같다.
public void referenceChange(Car carA)
{
carA.name="용대리";
carA.owner="장하다";
}
public void valuechange(int a, int b)
{
a=10;
b=11;
}
}
****** Ch0507.java *****
package ch05;
public class Ch0507
{
public static void main(String[] args)
{
//c는 2차원패턴, java는 3차원 패턴
Car carA = new Car("소나타","주인장");
//개체변수이므로 null이 되므로.. 먼저 할당해줘야 함.
//Car내에 mission = new Mission();호출시.
//carA.mission = new Mission();
carA.mission.type = "오토";
carA.mission.level = 5;
carA.mission.print();
Car carB = new Car("그랜져","홍길동");
//Car내에 mission = new Mission();호출시.
//carB.mission = new Mission();
carB.mission.type = "스틱";
carB.mission.level = 6;
carB.mission.print();
//속해있지 않는 Mission.
Mission m = new Mission();
m.level = 7;
m.type = "세미스틱";
m.print();
}
}