class FruitSeller {
     final int APPLE_PRICE = 1000;
     int numOfApple = 20;
     int myMoney = 0;

     public int saleApple(int money) {
         if (money < 1000)
         {
             System.out.println("최소 1000원은 넘어야 살 수 있습니다.");
             return 0;
         }
         int num = money / APPLE_PRICE;
         numOfApple -= num;
         myMoney += money;
         return num;
     }

     public void showSaleResult()
     {
         System.out.println("남은 사과 : " + numOfApple);
         System.out.println("판매 수익 : " + myMoney);
     }
 }
 class FruitBuyer {
     int myMoney = 5000;
     int numOfApple = 0;

     public int buyApple(FruitSeller seller, int money) {
      numOfApple += seller.saleApple(money);
         if (money <= 0)
         {
             System.out.println("거지새끼...");
             return 0;
         }
     
         myMoney -= money;
         return 1;
     }

     public void showBuyResult()
     {
         System.out.println("현재 잔액 : " + myMoney);
         System.out.println("사과 개수 : " + numOfApple);
     }
 }
 public class javatest {
     public static void main(String[] args) {
         FruitSeller seller = new FruitSeller();
         FruitBuyer buyer = new FruitBuyer();

         seller.numOfApple = 20;
         buyer.buyApple(seller, 10);

         buyer.buyApple(seller, 2000);

         System.out.println("과일 판매자의 현재 상황");
         seller.showSaleResult();

         System.out.println("과일 구매자의 현재 상황");
         buyer.showBuyResult();
     }
 }


=================================================================

결과값


최소 1000원은 넘어야 살 수 있습니다.
과일 판매자의 현재 상황
남은 사과 : 18
판매 수익 : 2000
과일 구매자의 현재 상황
현재 잔액 : 2990
사과 개수 : 2



이렇게 나옵니다.


궁금한건, 중간에 끊었다고 생각했는데 왜 10원의 금액이 빠져나간것이며, 거지새끼는 왜 출력이 되지 않는건가요?