문제에 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();
}
}
[실행결과]