클래스 & 객체 (3)

hyeu·2023년 1월 18일
0

자바

목록 보기
6/7
post-thumbnail

객체 간의 협력

<학생>
이름. 학년, 가진 돈
<버스>
버스 번호, 승객 수, 수입
<지하철>
노선 번호, 승객 수, 수입

학생 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 간의 협력해야 할 부분은 알지만 메서드를 어디서 만드는지, 어떤 값을 받아올지에 대해서 아직 잘 모르겠다... 혼자서는 부족,,,

0개의 댓글