Do you want BuboFlash to help you learning these things? Or do you want to add or correct something? Click here to log in or create user.



#자바

이제 예제를 다음과 같이 변경 해 보자.


class Updator { 
	public void update(Counter counter) { 
    	counter.count++; 
    }
}

public class Counter { 
	int count = 0; 
    public static void main(String[] args) { 
    	Counter myCounter = new Counter(); 
    	System.out.println("before update:"+myCounter.count); 
        Updator myUpdator = new Updator(); 
        myUpdator.update(myCounter); 
        System.out.println("after update:"+myCounter.count); 
    }
}
If you want to change selection, open document below and click on "Move attachment"

05-3 Call by value
시키려고 시도하는 예제이다. 실행 해 보면 다음과 같은 결과 값이 나온다. before update:0 after update:0 객체 변수 count의 값을 update메소드에 넘겨서 변경시키더라도 값에 변화가 없다. 그 이유는 이전 챕터에서 알아본 것과 같이 update 메소드는 값(int 자료형)을 전달받았기 때문이다. <span>이제 예제를 다음과 같이 변경 해 보자. class Updator { public void update(Counter counter) { counter.count++; } } public class Counter { int count = 0; public static void main(String[] args) { Counter myCounter = new Counter(); System.out.println("before update:"+myCounter.count); Updator myUpdator = new Updator(); myUpdator.update(myCounter); System.out.println("after update:"+myCounter.count); } } 이전 예제와의 차이점은 update 메소드의 입력항목이다. 이전에는 int count 와 같이 값을 전달받았다면 지금은 Counter counter 와 같이 객체를 전달받도록 변경한 것이다. update 메소드를 호출하는 부분도 다음처럼 바뀌었다. &#13


Summary

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Details



Discussion

Do you want to join discussion? Click here to log in or create user.