# 인터페이스와 ArrayList
이렇게 코딩을 했는데
뭐가 문제인지 도대체 모르겠어요 ㅜㅜ
#### CODE <a class='btn btn-default' href='/codes/41949'>Link</a>
```
public class InterfaceType {
public static void main(String[] args) {
// 객체 생성
ArrayList<Orderable> list = new ArrayList<Orderable>();
Orderable a = new Food("족발", 19800);
Orderable b = new Electronics("에어팟", 199000);
Orderable c = new Clothing("셔츠", 49900);
// 총합 계산
list.add(a);
list.add(b);
list.add(c);
// 결과 출력
int sum = 0;
for(int i = 0; i<list.size(); i++) {
Orderable o = list.get(i);
sum += o.discountedPrice();
}
System.out.printf("총합: %d원", sum);
}
}
interface Orderable {
public int discountedPrice();
}
class Food implements Orderable {
private String name;
private int price;
public Food(String name, int price) {
this.name = name;
this.price = price;
}
/* 1. 오버라이딩을 통해, 음식 할인율을 적용하세요. */
public int discountedPrice() {
return (int) ( price * 0.9 );
}
}
class Electronics implements Orderable {
private String name;
private int price;
public Electronics(String name, int price) {
this.name = name;
this.price = price;
}
/* 2. 오버라이딩을 통해, 전자기기 할인율을 적용하세요. */
public int discountedPrice() {
return (int) ( price * 0.8 );
}
}
class Clothing implements Orderable {
private String name;
private int price;
public Clothing(String name, int price) {
this.name = name;
this.price = price;
}
/* 3. 오버라이딩을 통해, 의류 할인율을 적용하세요. */
public int discountedPrice() {
return (int) ( price * 0.7 );
}
}
```
#### INPUT
```
```
#### OUPUT
```
/root/var/tmp/2021_03_23_22_43_18_54b849a5/InterfaceType.java:5: error: cannot find symbol
ArrayList<Orderable> list = new ArrayList<Orderable>();
^
symbol: class ArrayList
location: class InterfaceType
/root/var/tmp/2021_03_23_22_43_18_54b849a5/InterfaceType.java:5: error: cannot find symbol
ArrayList<Orderable> list = new ArrayList<Orderable>();
^
symbol: class ArrayList
location: class InterfaceType
2 errors
```
goodlife1359님의 답변
## 구글링 해본 결과
에러메시지 중
cannot find symbol ArrayList<Orderable> list = new ArrayList<Orderable>(); 부분을 복사하여 구글링 해본 결과 ,
소스코드 컴파일과정에서 발생한 요류라고 합니다.
해당 에러가 발생하는 이유는 복합적인 원인이 있을수 있다고 합니다.
저도 정확히 원인을 모르겠지만,
ArrayList 클래스를 import 여부 , 클래스명 오타여부 또는
ArrayList 객체 생성과정에 문제가 없는지 확인해볼 필요성이 있다고 판단됩니다.
또한 에러관련 자세한 내용은 아래 블로그를 참고 바랍니다.
[https://yangbox.tistory.com/60][1]
[https://internetot.tistory.com/entry/%EC%9E%90%EB%B0%94%EC%97%90%EC%84%9C-%EB%B0%9C%EC%83%9D%ED%95%98%EB%8A%94-%EC%97%90%EB%9F%AC][2]
[1]: https://yangbox.tistory.com/60
[2]: https://internetot.tistory.com/entry/%EC%9E%90%EB%B0%94%EC%97%90%EC%84%9C-%EB%B0%9C%EC%83%9D%ED%95%98%EB%8A%94-%EC%97%90%EB%9F%AC
zx12op님의 답변
맨 위에 import java.utill.ArrayList;
를 통해 ArrayList를 불러와 주시면 됩니다.