<div>package ObjectEx;</div> <div>public class TvTest {<br> //TV의 속성(멤버변수)<br> <br> String color; //색상<br> boolean power; //전원상태<br> int channel; //채널<br> <br> //TV의 기능(메서드)<br> void power(){ power=!power;}<br> void channelUp(){++channel;}<br> void channelDown(){--channel;}</div> <div> </div> <div>ObjectEx;</div> <div>public class TV3 {</div> <div> public static void main(String[] args) {<br> // TODO Auto-generated method stub<br> TvTest t1=new TvTest();<br> TvTest t2=new TvTest();<br> System.out.println("t1의 channel값은"+t1.channel+"입니다");<br> System.out.println("t2의 channel값은"+t2.channel+"입니다");<br> <br> t2=t1;<br> t1.channel=7;<br> System.out.println("t1의 채널값을 7로 변경했습니다.");<br> System.out.println("t1 채널값은"+t1.channel+"입니다");<br> System.out.println("t2 채널값은"+t2.channel+"입니다");<br> }</div> <div>}<br>// 중요하고 보고가자 t는 TvTest의 "참조변수"이다 즉 주소를 가리키는 것이다<br>// t2=t1은 t2에 t1에 주소값을 넣은 것이므로 원래 가지고 있던 t2의 주소값은 없어지고<br>// t1이 가지고 있는 주소값을 참고하게 된다.<br>// 이로인해 1개의 인스턴트(TvTest)를 여러 참조변수가 가리키는것은 가능하지만<br>// 여러개의 인스턴트(TvTest)가 참조변수를 가리키는것은 불가능하다.</div> <div> </div> <div>주석은 제가 필기한 것입니다.</div> <div> </div> <div>t1과 t2가 참조변수라고 했습니다 참조변수는 주소값을 저장하는 것인데</div> <div>t1과 t2 모두 TvTest라는 클래스의 주소를 참조 하고있지 않습니까?</div> <div>t2=t1 이라고해도 t1과 t2가 가리키는 주소의 값은 같은데</div> <div>어째서 주석2번째 말처럼 t2의 주소값이 사라지는 건가요??</div> <div> </div> <div>t1과 t2는 TvTest라는 주소값을 참고하여 새로운 t1,t2에 개인주소를 가지는 건가요????</div> <div> </div> <div> </div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.