글 작성자: 취업중인 피터팬
728x90
기본 환경
JDK : 1.8.0_261 버전
JRE : 1.8.0_261 버전
JAVA VERSION : 8 업데이트 261
Eclipse IDE VERSION : 2020-06버전

 

시나리오

ChildProperty클래스에 보유한 구슬과 구슬 게임을 한 후에 구슬을 잃고 얻음을 나타내는 클래스를 만들어라


 

 

다음과 같은 값이 나와야 합니다.
package ex08Class;

public class QuMarbles {


public static void main(String[] args)
{        	
	ChildProperty child1 = new ChildProperty(20);
	ChildProperty child2 = new ChildProperty(15);

	System.out.println("게임 전 구슬의 보유 개수");
	System.out.print("어린이1 : ");
	child1.showProperty(); 
	System.out.print("어린이2 : ");
	child2.showProperty(); 

	/*1차게임 : 어린이1은 어린이2의 구슬 5개 획득*/
	child1.obtainBead(child2, 5);

	/*2차게임 : 어린이2가 어린이1의 구슬 9개 획득*/
	child2.obtainBead(child1, 9);

	System.out.println("\n게임 후 구슬의 보유 개수");
	System.out.print("어린이1 : ");
	child1.showProperty(); 
	System.out.print("어린이2 : ");
	child2.showProperty();
}

 

 

정답
package ex08Class;

public class ChildProperty {
	int beadvalue;
	public ChildProperty(int beadvalue) {
		this.beadvalue = beadvalue;
	}
	
	public void loseBead(int lose) {
		beadvalue -= lose;
	}
	
	public void obtainBead(ChildProperty child, int obtain) {
		beadvalue += obtain;
		child.loseBead(obtain);
	}
	
	public void showProperty() {
		System.out.println("보유 구슬 개수 " + beadvalue);
	}
	
}

 

클래스를 매개변수로 보내는 것이 어색할 수 있음니다만 앞에서 클래스 내용을 충분히 숙지했다면 기본 자료형 - 참조 자료형 변수-참조변수로 똑같은 거기 때문에 매개변수로 전달되는 것도 역시 가능해진다는 것을 쉽게 이해하실 수 있으실 겁니다.

'Java > Java_기초부터 _끝까지' 카테고리의 다른 글

Java 기초 package(1)  (0) 2020.11.12
Java 기초 package(2)  (0) 2020.11.12
Java 기초 클래스 - 연습문제(2)  (0) 2020.11.10
Java 기초 클래스 - 연습문제(1)  (0) 2020.11.10
Java 기초 class(6) - 과일장수  (0) 2020.11.09