gwooden_코린이

java_참조_221128(6일차) 본문

java/6일차

java_참조_221128(6일차)

gwooden22 2022. 11. 28. 09:21
728x90

참조

Call by Value : 내용에 의한 참조 (매서드를 호출할 때 정수 또는 실수, 문자열 등을 보냄)

Call by Reference : 객체에 의한 참조

 

 

package 참조;

public class CallByMain {

	public static void main(String[] args) {
		
		//새로운 객체 생성
		Counter counter = new Counter();
		Updater updater = new Updater();
		
		System.out.println(counter.count); // <-- 기존 카운터 클래스에는 카운트 값이 정수 0의 값으로 초기값이 설정되어 있어서 출력은 0
		
		updater.update(counter); //업데이터 클래스에 객체에 값을 가져와 증가 시킨 후 
		
		System.out.println(counter.count); // 출려된 값은 0이 아닌 증가된 1이다.
		
	}

}
출력값

0
1
package 참조;

public class Updater {
	
	// void <--반환 update <- 메서드 (int count <-정수를 전달받을 수 있게끔 매개 변수 선언)
	// void <--반환 update <- 메서드 (Counter counter <-클래스를 자체를 전달받을 수 있게끔 매개 변수 선언)
	void update(Counter counter) { //Counter라는 클래스를 전달받겠다 라는 뜻
		counter.count++; // <--전달 받은 객체 증감
	}

}
package 참조;

public class Counter {
	
	int count = 0; // <--개체를 업데이터 클래스로 전달

}

 

728x90
Comments