List
= Interface
ArrayList
= Class
List는 Array 비슷하며 Java의 자료형으로 Array보다 편리한 기능을 가지고 있다.
List와 Array의 가장 큰 차이는 크기가 정해져 있지 않고 동적으로 변한다.
예를 들어 배열의 크기를 5개로 정했다면 5개 이상의 값을 담을 수 없지만 List는 크기가 정해져 있지 않아 원하는 만큼 값을 담을 수 있다.
List에는 ArrayList, Vector, LinkedList 등의 List 인터페이스를 구현한 자료형이 있다.
즉, List 인터페이스 안에 ArrayList 클래스가 있는 것이다.
List<> list = new ArrayList<>();
ArrayList<> list = new ArrayList<>();
위 코드의 결과는 같은 결과를 나타내지만, List를 사용해 ArrayList를 생성하는 것이 유연성에 있어서 큰 효과를 볼 수 있다.
유연성의 예
List<> list = new ArrayList<>();
List<> list = new LinkedList<>();