[Java] 객체간의 협력 예제

miyeon·2023년 3월 24일
0
post-thumbnail


문제에 Taxi 객체를 추가해서 실습했다.

[Bus객체]

package ch14;

public class Bus {
	
	int busNumber;
	int passengerCount;
	int money;
	
	public Bus(int busNumber) {
		
		this.busNumber = busNumber;
		
	}
	
	public void take(int money) {
		
		this.money += money;
		passengerCount++;
		
	}
	
	public void showBusInfo() {
		
		System.out.println(busNumber + "번 버스의 승객 수는 " + passengerCount + "명이고, 수입은 " + money + "원입니다.");
		 
	}
}

[Subway 객체]

package ch14;

public class Bus {
	
	int busNumber;
	int passengerCount;
	int money;
	
	public Bus(int busNumber) {
		
		this.busNumber = busNumber;
		
	}
	
	public void take(int money) {
		
		this.money += money;
		passengerCount++;
		
	}
	
	public void showBusInfo() {
		
		System.out.println(busNumber + "번 버스의 승객 수는 " + passengerCount + "명이고, 수입은 " + money + "원입니다.");
		 
	}
}

[Taxi객체]

package ch15;

public class Taxi {

	String companyName;
	int money;
	
	public Taxi(String taxiName) {
		
		this.companyName = taxiName;
		
	}
	
	public void take(int money) {
		
		this.money += money;
		
	}
	
	public void showTaxiInfo() {
		
		System.out.println(companyName + " 택시 수입은 " + money + "원 입니다.");
		
	}
}

[Student 객체]

package ch14;

public class Student {

	String studentName;
	int money;
	
	public Student(String studentName, int money) {
		
		this.studentName = studentName;
		this.money = money;
		
	}
	
	public void takeBus(Bus bus) {
		
		bus.take(1000);
		money -= 1000;
		
	}
	
	public void takeSubway(Subway subway) {
		
		subway.take(1400);
		money -= 1400;
		
	}
	
	public void takeTaxi(Taxi taxi) {
		
		taxi.take(4000);
		money -= 4000;
		
	}
	
	public void showInfo() {
		
		System.out.println(studentName + "님의 남은 돈은 " + money + "원 입니다.");
		
	}
}

여기서 객체 생성없이 객체를 매개 변수로 사용한게 이해가 가질 않는다.

[main클래스]

package ch14;

public class TransTakeTest {

	public static void main(String[] args) {

		Student studentJ = new Student("Jame", 5000);
		Student studentT = new Student("Tomas" ,10000);
		Student studentL = new Student("Lee", 8000);
		
		Bus bus100 = new Bus(100);
		Subway greenSubway = new Subway(2);
		Taxi privateTaxi = new Taxi("개인");
		
		studentJ.takeBus(bus100);
		studentT.takeSubway(greenSubway);
		studentL.takeTaxi(privateTaxi);
		
		studentJ.showInfo();
		studentT.showInfo();
		studentL.showInfo();
		
		System.out.println();
		
		bus100.showBusInfo();
		greenSubway.showSubwayInfo();
		privateTaxi.showTaxiInfo();
		
	}

}

[실행결과]

profile
내가 보려고 기록하는 블로그

0개의 댓글