# 중국집 주문하기(복합 클래스) ``` public int totalPrice() { int result = 0; for (int i = 0; i < menus.length; i++){ result += menus[i].price; } return result; } } ``` 해당 부분에서 int result 선언 시 0으로 값 지정을 해주지 않을 경우 오류가 나오던데 이유가 궁금합니다. int result;로 하면 ``` /root/var/tmp/2022_05_04_07_27_58_a3dc76b2/ChinesRestaurant.java:32: error: variable result might not have been initialized result += menus[i].price; ^ /root/var/tmp/2022_05_04_07_27_58_a3dc76b2/ChinesRestaurant.java:34: error: variable result might not have been initialized return result; ^ 2 errors ``` 이렇게 나오네요 #### CODE <a class='btn btn-default' href='/codes/63597'>Link</a> ``` public class ChinesRestaurant { public static void main(String[] args) { // 주문을 위한 메뉴 선정 Menu jjajang = new Menu("짜장", 4900); Menu jjambbong = new Menu("짬뽕", 5900); Menu tangsook = new Menu("탕수육", 13900); // 메뉴를 조합하여 주문을 생성 Menu[] menuArr = { jjajang, jjambbong, tangsook }; Order order = new Order(123, menuArr); // 주문 결과 출력 System.out.printf("주문 합계: %d원\n", order.totalPrice()); } } class Order { // 필드(인스턴스 필드) int orderNum; Menu[] menus; // 생성자 public Order(int i, Menu[] arr) { orderNum = i; menus = arr; } // 메소드(인스턴스 메소드) public int totalPrice() { int result = 0; for (int i = 0; i < menus.length; i++){ result += menus[i].price; } return result; } } class Menu { // 필드 String name; int price; // 생성자 public Menu(String str, int i) { name = str; price = i; } } ``` #### INPUT ``` ``` #### OUPUT ``` 주문 합계: 24700원 ```
## 지역변수는 사용전, 반드시 초기화 되어야 합니다. 초기화 되지 않은 지역 변수는 메모리에 존재하지 않기때문인데요. 따라서, 다음의 초기화 과정이 필요합니다. ``` int result = 0; ``` PS. 다음 에러문구를 구글링해보세요 ``` might not have been initialized ```