
안녕하세요. 오늘은 프레임워크에 대해서 알아볼까 해요.
프레임워크(Framework)
프레임워크는 영단어로 간다 하게 설명드리면
프레임(frame - 틀) + 워크(work - 일하다)를 합친 말로
제공받는 일정한 요소와 틀, 규약을 가지고 무언가를 만드는 일이에요.
그럼 프레임워크의 특성과 종류를 알아볼까요?
컬렉션(Collection)
컬렉션은 객체들을 모아놓은 것(데이터 그룹)을 다루기 위한
자바 CF의 최상위 인터페이스예요.
컬렉션 인터페이스는 여러 메서드를 정의하는데요.
| 컬렉션 인터페이스의 메서드 | 컬렉션 인터페이스의 특징 |
| .add(E e) | 요소 추가 |
| .remove(Object o) | 요소 제거 |
| .clear() | 전체 비우기 |
| .contains(Object o) | 포함 여부 확인 |
| .isEmpty | 비어 있는지 확인 |
| .size() | 요소 개수 확인 |
| .iterator() | 반복자(Iterator) 얻기 |
(컬렉션 인터페이스의 메서드 종류와 특징)
하위 인터페이스는
대표적으로 List, Set, Map가 있어요.
리스트(List)
리스트는 인덱스(index) 번호로 데이터의 순서가 유지가 되고 중복이 가능한 친구예요.
주요 구현체는 ArrayList, LinkedList, Vector가 있어요.
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("A"); // 중복 허용
System.out.println(list); // [A, B, A]
| ArrayList | 배열 기반, 검색 빠름, 추가/삭제 느림 |
| LinkedList | 연결 리스트 기반, 추가/삭제 빠름, 검색 느림 |
| Vector | 동기화 지원 (구형, 잘 안 씀) |
셋(Set)
셋은 순서가 없는, 중복이 허용되지 않는 데이터 모음인데요.
즉, 같은 값을 두 번 넣으려 하면 무시되는 특징을 가지고 있어요.
주요 구현체는 HashSet, LinkedHashSet, TreeSet이 있어요.
Set<String> set = new HashSet<>();
set.add("A");
set.add("B");
set.add("A"); // 중복 무시
System.out.println(set); // [A, B]
| HashSet | 해시 기반, 빠른 검색 |
| LinkedHashSet | 입력 순서 유지 |
| TreeSet | 정렬된 순서로 저장 (이진 트리 기반) |
맵(Map)
맵은 키(key) - 값(value)을 쌍으로 이루어진 데이터를 다뤄요.
키(key) 값은 중복허용이 불가능, 값(value)은 중복허용이 가능한 특징을 가지고 있어요.
주요 구현체는 HashMap , TreeMap, LinkedMap 등이 있어요.
Map<String, Integer> map = new HashMap<>();
map.put("apple", 3);
map.put("banana", 5);
map.put("apple", 10); // 기존 값 덮어쓰기
System.out.println(map); // {banana=5, apple=10}
| HashMap | 해시 기반, 순서 보장 없음 |
| LinkedHashMap | 입력 순서 유지 |
| TreeMap | 정렬된 키 순서 |

여기까지 프레임워크에 대해 간단히 알아봤는데요.
자바에서 프레임워크를 잘 활용하면
유연한 데이터를 다룰 수 있을 것 같아요.
'Backend > Java' 카테고리의 다른 글
| 람다식(Lambda Expression) (4) | 2025.07.28 |
|---|---|
| 내부 클래스 (Inner Class) (4) | 2025.07.27 |
| 빌더(Builder) (2) | 2025.07.25 |
| 싱글톤 (Singleton) (4) | 2025.07.24 |
| 제네릭 (Generic) (4) | 2025.07.23 |