반응형
- List = 인터페이스
- ArrayList = 클래스
- List<Object> list = new ArrayList<>();
- ArrayList<Object> list = new ArrayList<>();
... 도형에 비유하면,
List list = new ArrayList();
-> 도형 list = new 정사각형();
ArrayList list = new ArrayList();
-> 정사각형 list = new 정사각형();
위의 코드의 차이는?
2가지 모두 같은 결과를 도출합니다. 하지만 List를 사용해 ArrayList를 생성하는 것은 유연성에서 효과
Generic(제너릭)개념
Generic은 클래스 내부에서 지정하는 것이 아닌 외부에서 사용자에 의해 지정되는 것을 의미합니다.
한마디로 특정 타입을 미리 지정해주는 것이 아닌 필요에 의해 지정할 수 있도록 하는 일반(Generic) 타입입니다.
* 데이터의 용도에 따라 빠른 탐색을 위해서 ArrayList를 사용할 때도 있고,
삽입/삭제를 위해 LinkedList를 사용해야 하는 경우도 있습니다.
(유연성,다형성의 예)
List<Object> list = new List<>();
List<Object> list = new LinkedList<>();
- 데이터의 삽입이나 삭제가 필요한 상황에서 List로 선언한 인스턴스를 LinkedList로 바꾸게 되면 아무런 문제없이 LinkedList의 장점을 취할 수 있습니다.
반응형
'BACK' 카테고리의 다른 글
| forEach (0) | 2021.01.21 |
|---|---|
| MVC패턴 (0) | 2021.01.20 |
| HashMap (0) | 2021.01.20 |
| private / default / protected /public (0) | 2021.01.14 |
| Junit - 추가중 (0) | 2021.01.13 |