James와 Tomas는 각각 버스와 지하철을 타고 학교에 갑니다.
James는 5000원을 가지고 있었고, 100번 버스를 타면서 1000원을 지불합니다.
Tomas는 10000원을 가지고 있었고, 초록색 지하철을 타면서 1200원을 지불합니다.
두 학생이 버스와 지하철을 타는 상황을 구현해봅시다.
- 학생 개체 → 이름, 돈
- 버스 개체 → 버스 번호, 승객 수, 수입
- 지하철 개체 → 지하철 라인, 승객 수, 수입
Student.java
package ch14;
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); // 협력
this.money -= 1000;
}
public void takeSubway(Subway subway) {
subway.take(1200); // 협력
this.money -= 1200;
}
public void showInfo() {
System.out.println(studentName + "님의 남은 돈은 "+ money + "원 입니다.");
}
}
Bus.java
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.java
package ch14;
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 showSubwayInfo() {
System.out.println(lineNumber + "번 지하철의 승객은 "+passengerCount+ "명 이고, 수입은 "+money+"원 입니다.");
}
}
Subway.java
package ch14;
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 showSubwayInfo() {
System.out.println(lineNumber + "번 지하철의 승객은 "+passengerCount+ "명 이고, 수입은 "+money+"원 입니다.");
}
}
TakeTransTest.java
package ch14;
public class TakeTransTest {
public static void main(String[] args) {
Student studentJ = new Student("James", 5000);
Student studentT = new Student("Tomas", 10000);
Bus bus100 = new Bus(100);
Subway subwayGreen = new Subway(2);
studentJ.takeBus(bus100);
studentT.takeSubway(subwayGreen);
studentJ.showInfo();
studentT.showInfo();
bus100.showBusInfo();
subwayGreen.showSubwayInfo();
}
}
결과
2023 KAKAO Tech Campus_BackEnd 필수 과정
Java 1주차 강의 정리 내용입니다.
'개발 > Java' 카테고리의 다른 글
[1주차] Java 중급 - 여러 인스턴스에서 공통으로 사용하는 변수를 선언하자 - static 변수 (0) | 2023.06.24 |
---|---|
[1주차] Java 중급 - 복습해봅시다(객체 협력) (0) | 2023.06.24 |
[1주차] Java 중급 - 객체 간의 협력(collaboration) (0) | 2023.06.24 |
[1주차] Java 중급 - 객체 자신을 가리키는 this (0) | 2023.06.24 |
[1주차] Java 중급 - 캡슐화(encapsulation) (0) | 2023.06.24 |