AppleMarket02-서로 다른 인스턴스의 생성은, 인스턴스 변수의 초기화라는 문제발생

CODEDRAGON Development/Java

반응형

   

서로 다른 인스턴스의 생성은, 인스턴스 변수의 초기화라는 문제발생

   

   

해결방법

  • 생성자 함수를 통해 인스턴스 생성시 초기화 수행
  • AppleMarket03

   

   

소스코드

class AppleSeller{

          

        int numOfApple;

        int myMoney;

        int applePrice;

          

        public int saleApple(int money) {

                int num=money/applePrice;

                numOfApple-=num;

                myMoney+=money;

                return num;

        }

        public void showSaleResult(){

                System.out.println("보유 사과: " + numOfApple);

                System.out.println("판매 수익: " + myMoney);

        }

          

        //멤버변수를 초기화 하기 위한 함수

        public void initSeller(int money, int appleNumber, int price){

                myMoney=money;

                numOfApple=appleNumber;

                applePrice=price;

        }

}

public static void main(String[] args) {

          

        //참조변수의 선언 = 인스턴스 생성

        AppleSeller seller1 = new AppleSeller();

        AppleSeller seller2 = new AppleSeller();

          

        //멤버변수 초기화하기 위한 함수 호출

        seller1.initSeller(0, 20, 2500);

        seller2.initSeller(0, 50, 1000);

          

        AppleBuyer buyer = new AppleBuyer();

        buyer.buyApple(seller1, 5000);

        buyer.buyApple(seller2, 5000);  

          

        System.out.println("사과 판매자1의 현재 상태");

        seller1.showSaleResult();

        System.out.println("사과 판매자2의 현재 상태");

        seller2.showSaleResult();

          

        System.out.println("사과 구매자의 현재 상태");

        buyer.showBuyResult();

   

}

  


   

   

출력결과

   

반응형