다음과 같은 상황을 객체 간의 협력을 이용하여 구현해 봅시다.

Edward는 지각을 해서 택시를 타야 했습니다.
20000원을 가지고 있었는데 10000원을 택시비로 사용했습니다.
택시는 '잘나간다 운수' 회사 택시를 탔습니다.



Student.java

package ch14;

public class Student {

	String studentName;
	int money;
	
	public Student(String studentName, int money) {
		
		this.studentName = studentName;
		this.money = money;
	}
	
	public void takeTaxi(Taxi taxi) {
		
		taxi.takeTaxi(10000);
		this.money -= 10000;
	}
	
	public void showInfo() {
		System.out.println(studentName + "님의 남은 돈은 " + money + "원 입니다.");
	}
}



Taxi.java

package ch14;

public class Taxi {
	
	String taxi;
	int money;
	
	public Taxi(String taxi) {
		this.taxi = taxi;
	}
	
	public void takeTaxi(int money) {
		this.money += money;
		
	}
	
	public void showBusInfo() {
		
		System.out.println(taxi + "택시 수입은 " + money + "원 입니다.");
	}

}



TakeTransTest.java

package ch14;

public class TakeTransTest {

	public static void main(String[] args) {
		
		Student studentE = new Student("Edward", 20000);
		
		Taxi taxi = new Taxi("잘나간다 운수");
		
		studentE.takeTaxi(taxi);
		
		studentE.showInfo();
		
		taxi.showBusInfo();

	}

}




결과

Edward님의 남은 돈은 10000원 입니다.
잘나간다 운수택시 수입은 10000원 입니다.

Leave a comment