객체 간의 협력

로로·2023년 8월 9일


객체 : 학생, 버스, 지하철
속성 : 학생 - 이름, 학년, 가진 돈 / 버스 - 버스 번호, 승객 수 등등
행위 : 탄다

상속

운송수단 - 버스, 지하철, ...
공통적인 속성과 기능을 가지고 있기 때문에 운송수단 class를 생성한후 상속 받아서 사용



public class Student {

    final int BUS_PRICE = 1000;
    
    String studentName;
    int grade;
    int money;
    
    public Student(String studentName, int money){
        this.studentName = studentName;
        this.money = money;
    }

    public void takeBus(Bus bus){
        System.out.println("승객 1명 버스 탑승");
        bus.getPassenger(BUS_PRICE);
        this.money -= BUS_PRICE;
    }
}
public class Bus {

    int busNo;
    int passengerCount;
    int money;

    public Bus(int busNo){
        this.busNo = busNo;
    }

    public void getPassenger(int money){
        this.passengerCount += 1;
        this.money += money;
    }
}
public class Take {

    public static void main(String[] args){
    
        Student student = new Student("로로", 10000);
        Bus bus = new Bus(1);

        System.out.println("학생 돈 : " + student.money);
        System.out.println("버스 승객 : " + bus.passengerCount);
        System.out.println("버스 돈 : " + bus.money);

        student.takeBus(bus);

        System.out.println("학생 돈 : " + student.money);
        System.out.println("버스 승객 : " + bus.passengerCount);
        System.out.println("버스 돈 : " + bus.money);

    }
}
profile
청로하~🏝️

1개의 댓글

comment-user-thumbnail
2023년 8월 9일

공감하며 읽었습니다. 좋은 글 감사드립니다.

답글 달기