확실히 모르겟어요ㅠ.ㅠ
희라
1 class GoodsStock// 클래스 선언
2{
3 String goodsCode;//상품코드에 해당하는 필드
4 int stockNum;// 재고수량에 해당하는 필드
5 void addStock(int amount){
6 stockNum +=amount;
7 }
8 int subtractStock(int amount){
9 if (stockNum amount)
10 return 0;
11 stockNum -= amount;
12 return amount;
13 }
14}
15
16 class ClassExample1
17 {
18 public static void main(String[] args)
19 {
20 GoodsStock obj = new GoodsStock();//변수선언과 객체 생성
21 obj.goodsCode = 52135;
22obj.stockNum = 200; // 메소드 호출
23 System.out.println(상품코드 : + obj.goodsCode); //필드값 사용
24 System.out.println(재고수량 : + obj.stockNum );//필드값 사용
25 obj.addStock(1000);
26 System.out.println(상품코드 : + obj.goodsCode);
27 System.out.println(재고수량 : + obj.stockNum);
28 }
29}
만약stockNum필드를private 필드로 만들면컴파일할 때 에러가 발생합니다. 그럼 문제점을 해결하기 위해서는 어떻게 해야 하나요?
그리고 실행순서는 20-21-23-24-25-5-6-4-26-27만나요?
-
들찬길
매번 회원님 덕분으로 도움을 많이 받고 있어서 정말 감사합니다. 앞으로 많이 도와주세요^^
-
새
stockNum이 private 일떄 그 값을 변경또는 설정해주고 싶으시다면 setStockNum() getStockNum() 메서드를 만드시고 그걸 통해서 값을 셋팅하고 얻어오는 방법으로 해주시면됩니다
-
꽃여름
일반적으로 클래스의 맴버변수는 private으로 지정합니다.
왜냐하면 사용자가 클래스를 사용하면서 변수값을 변경할 수 있기 때문에 그렇게 하도록 합니다.
그래서 맴버변수를 직접 접근하지 않고 public 메소드를 통하여 접근을 합니다.
위의 GoodsStock 클래스를 예로 들자면
goodsCode에 대하여 값을 설정하는 메소드는 public void setGoodsCode(String goodsCode)가 되겠고
값을 가져오는 메소드는 public S