[기초] 시리즈는 본강의를 수강후 정리한 글들 입니다.
💡Java Collection Framework의 이해
- Java Collection Framework
- 객체들을 관리하기 위해 사용하는 컨테이너 클래스들의 집합
- 컨테이너 클래스들의 종류 (계열로 구분)
- Collection Interface : 순서없는 객체들의 집합
- List Interface : 순차적 나열로 순서 지정이 가능한 객체들의 집합 (배열)
- Set Interface : 중복을 허용하지 않는 객체들의 집합
- Queue Interface : FIFO ( First In First Out ) 처음 저장하는 객체가 가장 먼저 나오는 구조의 집합
- Map : 키와 그 키에 대응하는 객체들로 이루어진 집합
- 각 계열에 따라 객체들을 저장하고 관리하는 방식에 차이가 있음.
- 잘 활용하기 위해서는 각 클래스들의 특징과 저장 방식에 대한 이해 필요
- 컬렉션 관련 인터페이스들과 클래스들은 java.util.* 패키지에 포함
- 저장하고자 하는 객체들의 특성에 따라 사용할 클래스를 선택
- 컬렉션 클래스를 선택할 때 필요한 대표적인 고려사항
- 저장 객체의 추가, 삭제와 같은 데이터의 변경이 자주 발생하는지 여부
- 저장 객체의 빠른 탐색이 최우선으로 필요한지
- 저장 메모리를 최대한 효율적으로 사용하고자 하는지
💡 제네릭 Generic의 이해
- 제네릭 Generic은 Java5에서 추가된 기능으로 특히 객체를 수집, 관리하는 컬렉션을 이용할 때 반드시 사용
- 제네릭을 사용하면 데이터를 저장하는 시점에 어떤 데이터를 저장할 것인지 명시할 수 있음.
- 이를 통해 사용하고자 하는 데이터의 타입을 명확히 선언할 수 있고, 정확한 데이터의 사용 여부를 컴파일 시점에 확인 가능
💡제네릭과 컬렉션
- Object 클래스는 최상위 클래스로서 Java의 모든 클래스를 참조할 수 있음.
- 모든 클래스를 참조할 수 있다는 것은 분면 편리할 수 있지만 오류를 발생시킬 수 있는 여지 또한 매우 큼.
- 예를 들어, Object 배열에 다양한 객체의 참조를 넣었을 때
- 객체의 구분없이 배열에 담을 수 있다는 것은 담을 때의 편리성은 있지만 다시 꺼낼 때는 문제 발생
🚩 그러므로 컬렉션 프레임워크를 구현한 클래스들을 사용 시에 제네릭이 필요함!
'☕JAVA > 🐣 강의 [JAVA]' 카테고리의 다른 글
[JAVA][기초] Map 인터페이스 / Iterator 인터페이스 (0) | 2022.11.10 |
---|---|
[JAVA][기초] Collection 인터페이스 - List / Set 인터페이스 (0) | 2022.11.10 |
[JAVA][기초] 예외처리 (0) | 2022.11.09 |
[JAVA][기초] Wrapper 클래스 (0) | 2022.11.09 |
[JAVA][기초] String 클래스 (0) | 2022.11.09 |