- 버스
package ch10;
public class Bus {
int busNumber;
int count;
int money;
public Bus(int number) {
busNumber = number;
// 객체 생성 시 제일 먼저 실행 되는 부분
}
// 승객을 태우다
public void take(int pay) {
//money = money + pay;
money += pay;
count++;
}
public void showInfo() {
System.out.println("======상태창======");
System.out.println("버스 호선: " + busNumber);
System.out.println("버스 승객 수: " + count);
System.out.println("버스 수익금: " + money);
}
}
- 학생
package ch10;
public class Student {
String name; // 이름
int money; // 소지금
// 메개변수 2개를 받는 생성자를 만들어 보자.
public Student(String n, int m) {
name = n;
money = m;
}
// 학생이 버스를 탄다
public void takeBus(Bus bus) {
bus.take(1000);
// 버스에 천원을 내고 내 멤버 변수 money (천원을 빼자)
money = money - 1000;
}
// 학생이 지하철을 탄다
// 학생이 상태창을 보여준다
public void showInfo() {
System.out.println("======상태창=======");
System.out.println("학생 이름 : " + name);
System.out.println("학생 소지금 : " + money);
}
}
- 지하철
package ch10;
public class Subway {
int lineNumber;
int count;
int money;
// 생성자
public Subway(int number) {
lineNumber = number;
}
// 승객을 태우다
public void take(int pay) {
money += pay;
count++;
}
public void showInfo() {
System.out.println("======상태창======");
System.out.println("지하철 호선: " + lineNumber);
System.out.println("지하철 승객 수: " + count);
System.out.println("지하철 수익금: " + money);
}
}
- 테스트
package ch10;
public class GoingToSchool {
public static void main(String[] args) {
Bus bus1 = new Bus(133);
Bus bus2 = new Bus(1004);
Subway subway1 = new Subway(3);
Student s1 = new Student("홍길동", 10000);
Student s2 = new Student("홍길동", 5000);
// s1.showInfo();
// // bus1 -> 실제 값은 주소값이다
s1.takeBus(bus1);
s2.takeBus(bus1);
System.out.println("-----------------");
s1.showInfo();
bus1.showInfo();
// 사전 기반 지식
// 기본 데이터, 참조 타입
// int a; (값이 담긴다)
// 대문자로 선언하는 데이터 타입은 (참조 타입이다)
// Student s1 <--- s1 (주소값)
}
}
package ch10;
public class GoingToSchool2 {
public static void main(String[] args) {
// 버스 객체를 3개 생성해 보시오
Bus b1 = new Bus(50);
Bus b2 = new Bus(1002);
Bus b3 = new Bus(99);
// 학생 객체를 2명 생성해 보시오
Student s1 = new Student("짱구", 10000);
Student s2 = new Student("유리", 20000);
// 학생이 버스를 타는 행위를 만들어 보세요
s1.takeBus(b1);
s2.takeBus(b3);
// 버스에 상태창을 출력해서 결과를 확인해 보자.
s1.showInfo();
s2.showInfo();
}
}
'JAVA' 카테고리의 다른 글
접근 제어 지시자(access modifier) (0) | 2025.04.24 |
---|---|
함수, 메서드, 생성자 복습하기 (0) | 2025.04.24 |
생성자(constructor) (0) | 2025.04.24 |
메서드(method) (0) | 2025.04.24 |
함수 호출과 스택 메모리 (0) | 2025.04.24 |