작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
575
답변 1
0
안녕하세요. hjemsti님, 공식 서포터즈 OMG입니다.
.
영한님이 강의에서 설명하는 클래스의 참조로 인한 값이 공유되는 부분을 예시로 보시면 이해에 도움이 되실거같은데요.
static class Item {
String name;
public Item(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
다음과 같은 간단한 Item클래스(Wrapper클래스도 아니고, String 클래스도 아닌)가 있을 때
Main{
Item itemA = new Item("itemA");
Item itemB = itemA;
itemA.setName("itemC");
System.out.println("itemA.name = " +itemA.getName());
System.out.println("itemB.name = " + itemB.getName());
}
결과
itemA.name = itemC
itemB.name = itemC
itemA인스턴스와 itemB인스턴스는 같은 참조를 갖게 됩니다.
하지만 Wrapper 클래스와 String 클래스도 강의에서 말씀하시듯 Class이기 때문에 b = a; 의 참조를 막을 순 없지만 직접 테스트해서 확인해보셨듯 값이 변경되지 않고 서로 다른 값을 출력하는 그 부분을 말씀하신 것으로 이해하시면 됩니다.
.
감사합니다.