# 인터페이스와 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 ```
## 구글링 해본 결과 에러메시지 중 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
맨 위에 import java.utill.ArrayList; 를 통해 ArrayList를 불러와 주시면 됩니다.