객체 지향 프로그래밍에서의 협력
- 객체 지향 프로그램에서 객체 간에는 협력이 이루어짐
- 협력을 위해서는 필요한 메세지를 전송하고 이를 처리하는 기능이 구현되어야 함
- 매개 변수로 객체가 전달되는 경우가 발생
- 객체 협력의 예
🍫 과제 문제 풀어보기
Example .
앞의 예제에서 Edward는 지각을 해서 택시를 타야 했습니다.
20000원을 가지고 있었는데 10000원을 택시비로 사용했습니다. 택시는 '잘나간다 운수' 회사 택시를 탔습니다.
Console 결과 값
Person.java
package ch15;
public class Person {
private String personName; // 사람이름
private int money; //보유 금액
public Person() {}
public Person(String personName,int money) {
this.personName = personName;
this.money = money;
}
public void personTexi(Taxi taxi) {
taxi.send(10000);
this.money -= 10000;
}
//get/set
public String getPersonName() {
return personName;
}
public void setPersonName(String personName) {
this.personName = personName;
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
}
Taxi.java
package ch15;
public class Taxi {
private String taxiName; //택시 회사명
private int money; //수입
private int count; //운행 수
public Taxi() {}
public Taxi(String taxiName) {
this.taxiName = taxiName;
}
//get/set
public void send(int money) {
this.money += money;
}
public String getTaxiName() {
return taxiName;
}
public void setTaxiName(String taxiName) {
this.taxiName = taxiName;
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
TaxiTest.java
package ch15;
public class TaxiTest {
public static void main(String[] args) {
Person personE = new Person("Edward", 20000);
Taxi taxi01 = new Taxi("잘나간다 운수");
personE.personTexi(taxi01);
System.out.println(personE.getPersonName()+ "님의 남은 돈은" + personE.getMoney() + "입니다.");
System.out.println(taxi01.getTaxiName() + "의 수입은" + taxi01.getMoney() + "입니다.");
}
}
'BackEnd > JavaProgram' 카테고리의 다른 글
[ JAVA ] 싱글톤 패턴 (Singleton pattern) (0) | 2023.02.01 |
---|---|
[ JAVA ] static 변수와 메서드, 변수의 유효 범위 (0) | 2023.01.30 |
[ JAVA ] this 레퍼런스 (0) | 2023.01.30 |
[ JAVA ] 접근 지정자와 캡술화, 정보 은닉 (1) | 2023.01.30 |
[ JAVA ] 참조 자료형 정의 및 사용해보기 (0) | 2023.01.30 |