객체 지향 예제 프로그래밍


강의에서 본 예제를 응용해 문제를 만들어봤다 ^~^

Pierre, Alice, Lucas는 카페에 갔다.
Pierre는 5000원을 가지고 있었고, CafeJava에서 4000원 짜리 아메리카노를 마셨다.
Alice와 Lucas는 각각 10000원, 7000원을 가지고 있었고, BonCafe에서 5500원짜리 카페라떼를 마셨다.
=> 각 손님의 남은 돈, 각 카페에서 팔린 음료의 개수와 수입 구하기



Customer.java

public class Customer {

	String name;
	int money;
	
	public Customer(String name, int money) {
		this.name = name;
		this.money = money;
	}
	
	public void coffeeAtCafeJa(CafeJava cafeJa) {	//CafeJava 객체 넘어옴
		cafeJa.buy(4000);	
		this.money -= 4000;
		//4000원 지불
	}
	
	public void coffeeAtCafeVa(BonCafe cafeVa) {
		cafeVa.buy(5500);
		this.money -= 5500;
	}
	
	public void showInfo() {
		System.out.println(name + "의 남은 돈은 " + money + "원 입니다.");
		
	}
}



CafeJava.java

public class CafeJava {

	String menu;
	int menuCount;
	int money;
	
	public CafeJava(String menu) {
		//Main에서 menu이름 받기
		this.menu = menu;
	}
	
	public void buy(int money) { 
		//money = 손님이 지불한 금액 = 카페 수입
		this.money += money;
		menuCount++;
	}
	
	public void showCafeJavaInfo() {
		System.out.println("CafeJava에서 팔린 " + menu + "의 수는 " 
				+ menuCount + "개 이고, 수입은 " + money + "원 입니다.");
	}
}



BonCafe.java

public class BonCafe {

	String menu;
	int menuCount;
	int money;
	
	public BonCafe(String menu) {
		this.menu = menu;
	}
	
	public void buy(int money) { 
		//money = 손님이 지불한 금액 = 카페 수입
		this.money += money;
		menuCount++;
	}
	
	public void showBonCafeInfo() {
		System.out.println("BonCafe에서 팔린 " + menu + "의 수는 " 
				+ menuCount + "개 이고, 수입은 " + money + "원 입니다.");
	}
}



Main.java

public class Main {

	public static void main(String[] args) {

		Customer customerP = new Customer("Pierre", 5000);
		Customer customerA = new Customer("Alice", 10000);
		Customer customerL = new Customer("Lucas", 7000);
		
		CafeJava menuJava = new CafeJava("아메리카노");
		customerP.coffeeAtCafeJa(menuJava);
		
		BonCafe menuBon = new BonCafe("카페라떼");
		customerA.coffeeAtCafeVa(menuBon);
		customerL.coffeeAtCafeVa(menuBon);
		
		customerP.showInfo();
		customerA.showInfo();
		customerL.showInfo();
		
		menuJava.showCafeJavaInfo();
		menuBon.showBonCafeInfo();
	}

}



출력결과

출력결과

Categories:

Java