구독을 신청하세요!

평생 구독! 19,800 원(이벤트 기간 한정)


기업은행: 206-021800-01-029

예금주: 박세홍


카톡 ID: chaesam

이메일: mail@cloudstudying.kr

# 인터페이스와 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원 ```
관련 강의로 이동

코드: java 1.8

public class InterfaceType { public static void main(String[] args) { // 객체 생성 // 총합 계산 // 결과 출력 } } 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. 오버라이딩을 통해, 음식 할인율을 적용하세요. */ } class Electronics implements Orderable { private String name; private int price; public Electronics(String name, int price) { this.name = name; this.price = price; } /* 2. 오버라이딩을 통해, 전자기기 할인율을 적용하세요. */ } class Clothing implements Orderable { private String name; private int price; public Clothing(String name, int price) { this.name = name; this.price = price; } /* 3. 오버라이딩을 통해, 의류 할인율을 적용하세요. */ }

입력

정답이 궁금하다면? 코드를 제출해보세요!