ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA]객체 간의 협력
    Languages/Java 2021. 2. 18. 17:24
    반응형

    COOPERATION

     

    BUS

     

    package cooperation;
    
    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 showInfo() {
    		System.out.println("버스" + busNumber + "번의 승객은" + passengerCount + "명이고, 수입은"
    	+ money + "입니다");
    	}
    
    }
    

     

    SUBWAY

     

    package cooperation;
    
    public class Subway {
    	int lineNumber;
    	int passengerCount;
    	int money;
    	
    	public Subway(int lineNumber) {
    		
    		this.lineNumber = lineNumber;
    	}
    	public void take(int money) {
    		this.money += money;
    		passengerCount++;
    	}
    	public void showInfo() {
    		System.out.println("지하철" + lineNumber + "번의 승객은" + passengerCount + "명이고, 수입은"
    	+ money + "입니다");
    	}
    
    }
    

     

    STUDENT

     

    package cooperation;
    
    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.take(1000);
    		money -= 1000;		//핵심부분 협업이 이루어지는 부분!!!
    	}
    	public void takeSubway(Subway subway) {
    		subway.take(1500);
    		money -= 1000;		//핵심부분 협업이 이루어지는 부분!!!
    	}
    	
    	public void showInfo() {
    	System.out.println(studentName + "님의 남은 돈은" + money + "입니다");
    	}
    }
    

     

    주석이 달린 저부분이 객체 간의 협력이 이루어 진 것을 알 수 있다!

     

    TAKETRANS

     

    package cooperation;
    
    public class TakeTrans {
    
    	public static void main(String[] args) {
    
    		Student james = new Student("James" ,5000);
    		Student tomas = new Student("Tomas" ,10000);
    		
    		Bus bus100 = new Bus(100);
    		james.takeBus(bus100);
    		james.showInfo();
    		bus100.showInfo();
    		
    		Subway subwayGreen = new Subway(2);
    		tomas.takeSubway(subwayGreen);
    		tomas.showInfo();
    		subwayGreen.showInfo();
    		
    		
    	}
    
    }
    

     

     

    실행결과

     

    James님의 남은 돈은4000입니다
    버스100번의 승객은1명이고, 수입은1000입니다
    Tomas님의 남은 돈은9000입니다
    지하철2번의 승객은1명이고, 수입은1500입니다

     

    뿐만 아니라

    TRANS의 상위 개념을 만들어 운송수단을 관리하는 것도 가능

    사람과 돈을 계속 추가하여 반복문을 만들어 관리하는 것도 가능

    반응형

    'Languages > Java' 카테고리의 다른 글

    [JAVA]java 배열  (0) 2021.02.22
    [JAVA] static 변수  (0) 2021.02.18
    [JAVA]JAVA THIS  (0) 2021.02.18
    [JAVA]JAVA 생성자,참조자료형,정보은닉  (0) 2021.02.18
    [JAVA]JAVA 함수, 클래스, 인스턴스  (0) 2021.02.18

    댓글

Designed by Tistory.