본문 바로가기
2022-2/자바

자바 - 객체 복사 참고사항

by 철없는민물장어 2022. 9. 25.
728x90
반응형
class Fruit{
	int apple=5;
	int straw=10;
	int grapes=15;
}
public class Test5 {

	public static void main(String[] args) {
		Fruit f1 = new Fruit();
		
		Fruit f2 = f1;
		
		f1.apple=500;
		
		System.out.println("f1");
		System.out.println(f1.apple+" "+f1.straw+" "+f1.grapes);

		System.out.println("f2");
		System.out.println(f2.apple+" "+f2.straw+" "+f2.grapes);		
	}

}

Fruit 클래스의 객체 f1을 생성하고

f2=f1을 했다

 

f1의 멤버변수를 변경하고

f1, f2의 정보를 출력해 보면

f1, f2가 동일하게 변경되어 있는 것을 볼 수 있다(f2는 건든적도 없는데 불구하고)

 

바로 그이유는~

f1변수 안에는 Fruit객체의 주소가 들어있기 때문이라는데~

그렇기 때문에 사실상 f1, f2는 같은 객체를 가리키고 있는것임.

728x90
반응형

댓글