# 인터페이스와 ArrayList
#### 타입으로서의 인터페이스
우리는 앞서 인터페이스 타입으로 업캐스팅이 가능함을 배웠습니다.
![클라우드스터딩-자바-업캐스팅-인터페이스-그룹화](https://i.imgur.com/v9GFJbv.png)
따라서 다양한 하위 객체들을 상위 인터페이스 타입으로 ArrayList에 저장 가능합니다.
```
// Flyable 타입을 저장할 ArrayList 생성
ArrayList<Flyable> list = new ArrayList<Flyable>();
// 인터페이스를 통한 다양한 하위 객체들을 저장
Flyable b = new Bird();
Flyable h = new Helicopter();
Flyable r = new Rocket();
list.add(b);
list.add(h);
list.add(r);
```
## 문제
홍팍이는 마트에서 족발과 에어팟, 그리고 셔츠를 구매하였다. 각각의 정가는 아래와 같다.
- 족발: 19,800원
- 에어팟: 199,000원
- 셔츠: 49,900원
그런데 이게 왠걸, 아래와 같이 할인률이 적용된다 한다.
- 음식: 10%
- 전자기기: 20%
- 의류: 30%
주어진 코드를 활용하여 할인률이 적용된 총합을 계산하고, 출력 예와 같은 결과를 얻으시오.
## 출력 예
```
총합: 211950원
```