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();
}
|
출력결과
'Development > Java' 카테고리의 다른 글
ObjectEx03-인자값이 있는 생성자를 통한 초기화 (0) | 2015.07.10 |
---|---|
AppleMarket03-생성자 함수 정의 및 인스턴시 생성시 생성자 함수 호출 (0) | 2015.07.09 |
ObjectEx01-참조변수와 참조 메소드의 관계 확인 (0) | 2015.07.08 |
AppleMarket01-객체 이해 (0) | 2015.07.08 |
ConsoleInputEx02-키보드를 대상으로 Scanner의 인스턴스를 생성 (0) | 2015.07.08 |