Java - Collection Framework란?

2025. 4. 24. 18:52·Java
반응형

이전에 포스팅했던

2025.04.24 - [프로그래밍언어/Java] - 자바 프로그래밍(1) - for each문

 

자바 프로그래밍(1) - for each문

알고리즘 공부를 하다가 for each문이 나와서 글을 작성해본다.학부에서 Java를 공부할 때 for each문을 접해본 적이 없었는데NHN 아카데미 자바 백엔드 과정을 수료하면서 처음 배웠던 기억이 있다...

fkqlaus.tistory.com

에서 Iterable에 관해 이야기할 때 Collection에 대한 내용이 나왔었다(아주 쪼끔..)

면접을 보러 갔을 때도 Collection에 관한 질문을 받은 적이 있는 만큼 잘 이해한다면 실무와 면접에서 도움이 될 거라고 생각한다.

 


Collection Framework가 뭔가요?

 

Java의 Collection Framework는 데이터를 효율적으로 저장하고 조작하기 위한 구조이다. 배열보다 유연하고, 다양한 상황에 맞게 데이터를 저장하고 처리할 수 있게 도와준다...라고 하는데 도대체 무슨 말이야?

쉽게 말하면 여러 데이터를 담는 도구 상자라고 생각하면 된다.

 

즉 다양한 데이터를 저장하는 그릇들(List, Set, Map 등)을 모아둔 도구 상자 또는 정리함이다. 각각의 그릇은 성격이 달라서 용도에 따라 골라 쓰면 되고, 자바에서는 그걸 효율적이고 일관된 방식으로 다룰 수 있도록 Framework 형태로 제공하는 것이다.

 

그럼 이걸 왜 쓰는 건가? 그냥 배열쓰면 되는 거 아니에요?라고 질문한다면 음..

배열은 크기 조절이 어렵고 유연하지 않다.
그래서 자바는 다양한 형태로 데이터를 쉽게 추가/삭제/검색할 수 있는 컬렉션 도구들을 제공한다.

 

 

Collection Framework의 구조

                          Iterable (반복할 수 있는 객체)
                             |
                         Collection (데이터를 모아 놓은 집합)
                        /    |    \
                     List   Set   Queue
                             |
                            Map (별도 인터페이스 - Collection의 하위 X)

 

 

위 구조를 보면 Java Collection의 전체 큰 틀을 알 수 있다.

아래에서 각 인터페이스와 구현체들이 어떤 특징을 가지고 있는지 간단히 정리하자면

 

 

  • List: 데이터의 순서를 기억하고, 중복된 값도 허용한다.
  • Set: 중복된 값은 허용하지 않고, 순서도 기억하지 않는다.
  • Queue: 데이터를 줄 세우듯이 처리한다. (먼저 들어온 게 먼저 나감 FIFO!)
  • Map: 키(key)와 값(value)을 짝지어 저장한다. (Key값은 중복이 불가능)

 


 

 

아마 면접을 보러 가서 Collection이 뭐냐는 질문을 받으면 

“Java의 Collection은 Iterable 인터페이스를 구현해 여러 데이터를 그룹으로 묶어 효율적으로 저장하고 관리할 수 있도록 도와주는 프레임워크입니다. 다양한 자료구조(List, Set, Map 등)를 일관된 방식으로 사용할 수 있게 해주는 도구 상자 역할을 합니다.”

라고 답변하면 될 것 같다.

 

이 글에서는 Collection에 대해서만 알아보고 List, Set, Queue 등도 따로 정리해야겠다!

반응형

'Java' 카테고리의 다른 글

[Java] 제네릭 (Generic) 완전 정복 T와 와일드 카드  (0) 2026.06.17
[Java] HashMap 은 뭐고 어떻게 동작 하는 걸까?  (0) 2026.04.03
Java - 면접 질문으로 다시 보는 Java의 List와 구현체(ArrayList 등)와 관계  (2) 2025.04.24
Java - for each문 직접 구현해보기  (0) 2025.04.24
Java - for each문  (0) 2025.04.24
'Java' 카테고리의 다른 글
  • [Java] 제네릭 (Generic) 완전 정복 T와 와일드 카드
  • [Java] HashMap 은 뭐고 어떻게 동작 하는 걸까?
  • Java - 면접 질문으로 다시 보는 Java의 List와 구현체(ArrayList 등)와 관계
  • Java - for each문 직접 구현해보기
fkqlaus
fkqlaus
안녕하세요 Java, Spring boot 공부하는 주니어 개발자입니다
  • fkqlaus
    개발자가 끄적끄적 블로그
    fkqlaus
  • 전체
    오늘
    어제
    • 분류 전체보기 (24)
      • Spring boot (3)
      • 프레임워크 (3)
      • Java (6)
      • DevOps (3)
      • DB (1)
      • CS (1)
      • GIS (1)
      • 알고리즘 문제풀이 (9)
      • 알고리즘 (0)
  • 인기 글

  • 태그

    db
    DevOps
    list
    개발
    알고리즘
    컴퓨터
    D2
    코딩테스트
    iterator
    프로그래머스
    완전탐색
    cs
    docker
    데이터베이스
    collection
    Java
    spring
    서버
    개발자
    SWEA
  • hELLO· Designed By정상우.v4.10.3
fkqlaus
Java - Collection Framework란?
상단으로

티스토리툴바