<학생>
이름. 학년, 가진 돈
<버스>
버스 번호, 승객 수, 수입
<지하철>
노선 번호, 승객 수, 수입
학생 class
public class Student {
String studentName;
int grade;
int money;
public Student(String studentName,int money) {
this.studentName = studentName;
this.money = money;
}
public void takeBus(Bus bus) { //버스에 대한 정보가 bus class에서 넘어와야 됨. -> 매개변수 이용
bus.take(1000); //1000이라는 메서드를 줌.
money -= 1000;
}
public void takeSubway(Subway subway) { //버스에 대한 정보가 bus class에서 넘어와야 됨. -> 매개변수 이용
subway.take(1500); //1000이라는 메서드를 줌.
money -= 1500;
}
public void showInfo() {
System.out.println(studentName + "님의 남은 돈은" + money + "입니다.");
}
}
public void takeBus(Bus bus)
: 버스에 대한 정보를 bus class에서 넘어오기 위해서 매개변수를 이용하여 만들어줌.
subway class
public class Subway {
int lineNumber;
int passengerCount;
int money;
public Subway(int lineNumber) {
this.lineNumber = lineNumber;
}
/*위의 문장에서 this 안쓰는 방법
public Subway(int linenum){
lineNumber = linenum;
}
*/
public void take(int money) {
passengerCount++;
this.money += money;
}
public void showInfo() {
System.out.println("지하철 "+ lineNumber + "번의 승객은" +passengerCount +"명이고 , 수입은" +
money + "입니다.");
}
}
bus class
public class Bus {
int busNumber;
int passengerCount;
int money;
public Bus(int busNumber) {
this.busNumber = busNumber;
}
public void take(int money) {
passengerCount++;
this.money += money;
}
public void showInfo() {
System.out.println("버스 "+ busNumber + "번의 승객은" +passengerCount +"명이고 , 수입은" +
money + "입니다.");
}
}
동작 class
public class TakeTrains {
public static void main(String[] args) {
Student james = new Student("james",5000);
Student tomas = new Student("tomas",5000);
Bus bus1 =new Bus(100);
james.takeBus(bus1);
james.showInfo();
bus1.showInfo();
Subway subway1 = new Subway(2);
tomas.takeSubway(subway1);
tomas.showInfo();
subway1.showInfo();
}
}
class 간의 협력해야 할 부분은 알지만 메서드를 어디서 만드는지, 어떤 값을 받아올지에 대해서 아직 잘 모르겠다... 혼자서는 부족,,,