# 중국집 주문하기(복합 클래스)
```
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원
```
sehongpark님의 답변
## 지역변수는
사용전, 반드시 초기화 되어야 합니다.
초기화 되지 않은 지역 변수는
메모리에 존재하지 않기때문인데요.
따라서, 다음의 초기화 과정이 필요합니다.
```
int result = 0;
```
PS.
다음 에러문구를 구글링해보세요
```
might not have been initialized
```