● Collections Framework
collections 이란 데이터의 군, 다수의 데이터를 의미하며 Collections Framework는 이런 다수의 데이터를 표준화된 방식(Framework)으로 처리하기 위하여 객체지향적인 설계로 고안된 프로그래밍 방식이다. 객체지향적인 설계로 되어있다는 것은 익히 알다시피 인터페이스와 다형성을 사용할 수 있으며, 그로 인해 코드의 재사용성을 높여주는 장점을 가진다.
컬렉션 프레임워크에 소속된 컬렉션 클래스들은 크게 3가지의 인터페이스를 구현하는데, 개발 시에 다룰 컬렉션, 다수의 데이터의 특징을 파악하여 해당 컬렉션에 사용하면 좋을 컬렉션 클래스를 사용하는 것은 개발자의 역량이다. 그렇다면 3가지 인터페이스와 그 특징을 알아보자
- 1) List - 순서가 있는 데이터의 집합이며, 데이터의 중복을 허용
Ex) ArrayList, LinkedList, Stack, Vector ... -> 컬렉션 클래스
- 2) Set - 순서가 유지되지 않으며 , 데이터의 중복을 허용치 않는다.
Ex) HashSet, TreeSet ...
- 3) Map - 키(key)와 값(Value)의 쌍으로 이루어진 데이터의 집합이며 순서는 유지되지 않으며 값의 중복은 허용하지만, key의 중복은 허용하지 않는다.
Ex) HashMap, TreeMap,Properties ...
- ※ Collection 인터페이스 - List와 Set의 공통된 부분을 묶어놓은 인터페이스이다.
컬렉션 프레임워크를 공부한다는 것은 이제 자료구조의 영역으로 작은 한걸음을 뗀 것과 다름없다. ArrayList, LinkedList 같은 컬렉션 클래스들에 대하여 세세하게 따져볼 테지만 이 클래스들은 각각이 자료구조와 같고, 이 자료구조들이 어떤 자료를 다룰지에 따라 둘 중 무엇을 쓰는 게 해당 자료를 저장하고 탐색하는데 효율적인지 앞으로의 포스팅을 통해 알아볼 예정이다.
'Java > Java Study' 카테고리의 다른 글
[Collections Framework] Iterator 와 메서드 iterator (0) | 2021.05.27 |
---|---|
[Collections Framework] ArrayList (0) | 2021.05.27 |
[객체지향] 인터페이스(Interface) (5/24 어휘수정) (0) | 2021.05.16 |
[객체지향] 추상 클래스 (5월18일 추가내용) (0) | 2021.05.16 |
[객체지향] 다형성, Polymorphism - Part3 (다형성의 장점) (0) | 2021.05.13 |