Collection Framework를 뜯어보자 - (1) 개념

eltory·2020년 9월 30일
0

자바

목록 보기
1/1
post-thumbnail

🖋 # 게시글의 내용 중 틀린 부분이나 지적해주실 부분을 댓글로 알려주세요! #
🖋 # 겸손히 배우며 성장하겠습니다! #

☕️ Java Collection Framework란?

다수의 자료(데이터)를 쉽게 효과적으로 사용할 수 있게 자바에서 제공하는 컬렉션 프레임워크이다.
쉽게 말해 자바에서 제공하는 자료구조로써 공통된 역할과 알고리즘 기능을 인터페이스로 추상화하여 묶어놓은 것이다.

⚙️ Architecture


출처 - https://www.edureka.co/blog/java-collections

크게 List, Set, Queue의 인터페이스로 구성되며 실체화 된 것이 아니다.
실제 사용을 하기 위해서는 각 용도에 맞게 해당 인터페이스를 구현한 클래스를 사용하면 된다.

Collection 인터페이스는 다음과 같은 추상 메서드들을 정의하고 있다.
따라서 Collection 인터페이스를 구현한 구현체들을 다음 추상 메서드들을 실제 구현하여 사용하게 된다.

    int size();
    boolean isEmpty();
    boolean contains(Object o);
    Iterator<E> iterator();
    Object[] toArray();
    boolean add(E e);
    boolean remove(Object o);
    boolean containsAll(Collection<?> c);
    boolean addAll(Collection<? extends E> c);
    void clear();
    boolean equals(Object o);
    int hashCode();
    ...

또한, Collection 인터페이스Interable 인터페이스상속받고 있다.

public interface Collection<E> extends Iterable<E>

Iterable 인터페이스는 Iterator 인터페이스를 컬렉션 프레임워크에서 구현하도록 강제하기 위한 역할을 한다.
즉, 컬렉션 프레임워크의 구현체들이 데이터를 읽어오는 방식을 공통된 표준 (hasNext(), next(), remove() 등)으로 강제함으로써 코드의 일관성과 재사용을 통한 객체지향을 꾀하는 것이다.

이제 컬렉션 프레임워크를 하나씩 뜯어보며 공부해보자.

profile
🎞 말보다는 행동과 기록으로 - 취업준비/백엔드/서버/분산

0개의 댓글