# ArrayList - 데이터 담기
<div class="embed-responsive embed-responsive-16by9">
<iframe src="https://www.youtube.com/embed/7-bU7S0BZhQ?start=460" frameborder="0" allowfullscreen></iframe>
</div>
ArrayList에 객체를 담기 위해서는, 생성 시 담기위한 객체의 타입(클래스 타입)을 명시해야 합니다.
```
// Employee 객체를 담기 위한 ArrayList 생성
ArrayList<Employee> list = new ArrayList<Employee>();
```
명시된 타입의 객체를 담는 메소드는 `add()`로서 아래와 같이 사용합니다. add() 를 통해 추가된 객체는 ArrayList 제일 뒤쪽에 위치하게 됩니다.
```
// Employee 객체 생성
Employee emp1 = new Employee();
Employee emp2 = new Employee();
Employee emp3 = new Employee();
// ArrayList에 담기
list.add(emp1); // list -> { emp1 }
list.add(emp2); // list -> { emp1, emp2 }
list.add(emp3); // list -> { emp1, emp2, emp3 }
```
특정 인덱스의 값을 변경할 때는 set(int index, E element) 메소드를 사용합니다.
```
Employee emp4 = new Employee();
list.set(0, emp4); // list -> { emp4, emp2, emp3 }
```
더 자세한 내용은 API 문서를 참조하세요.
- https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
## 문제
ArrayList에 Book 객체들을 담고, 이를 출력하려 한다. 출력 예와 같은 결과를 얻도록 코드를 완성하시오.
## 출력 예
```
list.get(0) -> Book { name: 원피스, price: 4500 }
list.get(1) -> Book { name: 나루토, price: 4000 }
list.get(2) -> Book { name: 자바 프로그래밍, price: 24000 }
```