728x90
다음과 같은 상황을 구현해보자.
======================================
아이유는 지각을 해서 택시를 타야 했다.
20,000원을 가지고 있었고 10,000원을 택시비로 사용했다.
택시는 '모범 회사' 회사 택시를 탔다.
======================================
출력 결과는 아래와 같다.
======================================
아이유님의 남은 돈은 10000원 입니다.
모범 회사 택시 수입은 10000원 입니다.
======================================
우선 프로그래밍을 하기 전에 객체를 추리고 각 객체의 멤버변수와 메서드를 리스트업 해야 한다.
- 학생 객체 (잔액을 보여주는 메서드, 돈, 학생 이름 등)
- 택시회사 객체(회사 이름, 회사 수입 등)
- Client Java(실제 main을 실행하는 java 코드)
1. Student.java
package ch15; public class Student { String studentName; int money; public Student(String studentName, int money) { this.studentName = studentName; this.money = money; } public void takeTaxi(Taxi taxi) { taxi.take(10000); this.money -= 10000; } public void showInfo() { System.out.println(studentName + "님의 남은 돈은 " + money + "원 입니다."); } } |
> 여기서 객체간 협력이 일어나는 부분은 Student 객체에서 takeTaxi 라는 메서드안에 매개변수로 taxi 객체를 사용하는데에 있다. taxi 객체를 매개변수로 받게 되면 taxi 객체 안의 모든 메서드와 멤버 변수를 사용하여 상호 협력하는 관계를 만들 수 있게되는 것이다.
2. Taxi.java
package ch15; public class Taxi { String companyName; int income; public Taxi(String companyName) { this.companyName = companyName; } public void take(int money) { this.income += money; } public void showIncomeInfo() { System.out.println(companyName + "수입은 " + income + "원 입니다."); } } |
3. TakeTransTest.java
package ch15; public class TakeTransTest { public static void main(String[] args) { Student studentE = new Student("아이유", 20000); Taxi taxi100 = new Taxi("모범 회사"); studentE.takeTaxi(taxi100); studentE.showInfo(); taxi100.showIncomeInfo(); } } |
4. 출력 결과
728x90
'개발공부 > Java' 카테고리의 다른 글
[Java] 09. Static 변수와 Static 메서드에 대하여...(2) (0) | 2021.11.26 |
---|---|
[Java] 09. Static 변수와 Static 메서드에 대하여...(1) (0) | 2021.11.24 |
[Java] 07. 객체 자신을 가리키는 this / 객체 간의 Collaboration (0) | 2021.11.22 |
[Java] 06. 접근 제어 지시자, 정보 은닉과 캡슐화 (0) | 2021.11.20 |
[Java] 05. 참조 자료형 변수 (0) | 2021.11.18 |