실전 예제와 함께하는 Java 표준 라이브러리 완전 정복
"암기가 아닌 이해, 요약이 아닌 통찰"
실무 개발부터 코딩 테스트까지,
왜 그렇게 동작하는지 원리부터 파헤치는 Java API 심화 학습 자료
단순한 메서드 나열이 아닌, 실전에서 바로 써먹을 수 있는 Java API 레퍼런스입니다.
| 🎯 원리 중심 | 💻 실행 가능 | 🔥 실전 패턴 | 📊 성능 비교 |
|---|---|---|---|
| 왜 그렇게 동작하는지 원리부터 설명 |
모든 코드는 복사-붙여넣기 즉시 실행 |
실무에서 자주 쓰는 패턴 |
같은 기능의 여러 방법 비교 |
- ✅ 200+ 실행 가능한 예제 코드 - 이론만이 아닌 실습 중심
- ✅ 내부 동작 원리 설명 - 단순 암기가 아닌 깊이 있는 이해
- ✅ 25+ 실전 연습 문제 - 학습 내용 즉시 확인
- ✅ 성능 벤치마크 포함 - 언제 무엇을 써야 하는지 명확히
- ✅ 함정 회피 가이드 - 초보자가 자주 하는 실수 미리 차단
💡 각 챕터를 클릭하면 상세한 학습 문서로 이동합니다
가장 기본이 되는 문자열과 숫자, 그리고 배열을 다룹니다.
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 01. 기본 개념 | Immutable & String Pool | 불변성, intern(), 메모리 구조 |
| 02. 생성과 비교 | 생성 방법과 비교 메서드 | equals, compareTo, valueOf |
| 03. 검색과 인덱싱 | 문자 접근과 위치 찾기 | charAt, indexOf, substring |
| 04. 변환과 치환 | 문자열 변환하기 | toUpperCase, replace, trim |
| 05. 분리와 결합 | 나누고 합치기 | split, join, StringJoiner |
| 06. StringBuilder & StringBuffer | 가변 문자열 처리 | 성능 최적화, 동기화 |
| 07. 실전 패턴 | 알고리즘과 실무 패턴 | 팰린드롬, 검증, 파싱, 최적화 |
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 01. Math 클래스 | 기본 수학 연산과 난수 | abs, pow, sqrt, random, round |
| 02. Wrapper 클래스 | 기본 타입의 객체화 | Integer, valueOf, parseInt, Boxing |
| 03. BigInteger & BigDecimal | 대용량 및 정밀 연산 | BigInteger, BigDecimal, 정밀도 |
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 01. 배열 기본 | 배열과 Arrays 클래스 | 선언, 초기화, 기본 연산 |
| 02. 정렬 | sort, parallelSort | Comparator, 성능 비교 |
| 03. 검색 | binarySearch | 이진 탐색 활용 |
| 04. 비교와 복사 | equals, copyOf | 깊은 복사, 얕은 복사 |
| 05. 변환 | stream, asList | 배열 ↔ List 변환 |
| 06. 다차원 배열 | 2D, 3D 배열 | deepEquals, deepToString |
자료구조를 배우기 전 필수적인 타입 시스템을 익힙니다.
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 01. Generics Basic | 제네릭 클래스와 메서드 기초 | <T>, Bounded Type, Type Erasure |
| 02. Wildcard & PECS | 와일드카드와 유연성 설계 | <?>, extends, super, PECS 공식 |
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 01. Enum Basic | 열거형 기초와 특징 | enum, values(), valueOf() |
| 02. Enum Advanced | 상수별 동작 구현과 싱글톤 | abstract method, Singleton Pattern |
| 03. Enum Patterns | 실전 활용 패턴과 최적화 | Strategy Pattern, EnumMap, EnumSet |
List, Set, Map, Queue의 모든 것을 다룹니다.
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 01. Collections 개요 | 프레임워크 전체 구조 | Collection, Iterable, 계층 구조 |
| 02. ArrayList | 동적 배열 구현 | add, get, resize, 성능 |
| 03. LinkedList | 이중 연결 리스트 | addFirst, removeLast, Node |
| 04. List 비교와 선택 | 상황별 List 선택 가이드 | 조회 vs 삽입/삭제, 성능 비교 |
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 05. HashSet | 중복 없는 데이터 집합 | hashCode, equals, 유일성 |
| 06. LinkedHashSet | 순서가 있는 Set | 입력 순서 보장, LRU 캐시 |
| 07. TreeSet | 정렬된 Set | 이진 탐색 트리, 범위 검색 |
| 08. Set 비교와 선택 | 상황별 Set 선택 가이드 | 정렬 필요성, 입력 순서 |
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 09. HashMap | 키-값 쌍 데이터 저장 | put, get, 해시 충돌, 버킷 |
| 10. LinkedHashMap | 순서가 있는 Map | 삽입 순서, 접근 순서 |
| 11. TreeMap | 정렬된 Map | 키 기준 정렬, NavigableMap |
| 12. Map 비교와 선택 | 상황별 Map 선택 가이드 | 키 정렬, 순서 보장 여부 |
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 13. Queue & Deque | 대기열 처리 자료구조 | offer, poll, peek, FIFO |
| 14. PriorityQueue | 우선순위 큐 | 힙(Heap), 우선순위 정렬 |
| 15. Stack | LIFO 자료구조 | push, pop, Vector 상속 문제 |
| 16. Collections 유틸 | 컬렉션 보조 도구 | sort, binarySearch, synchronized |
Java 8 이후 도입된 함수형 프로그래밍과 데이터 처리 기법입니다.
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 01. Functional Interface | 람다식과 표준 인터페이스 | Consumer, Supplier, Function, Predicate |
| 02. Method Reference | 메서드 참조와 생성자 참조 | Class::method, new:: |
| 03. Custom Lambda | 커스텀 인터페이스와 변수 포획 | @FunctionalInterface, Variable Capture |
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 01. Comparator & Comparable | 정렬과 비교 기준 | compare, compareTo, thenComparing |
| 02. Stream API | 데이터 처리 파이프라인 | filter, map, collect, reduce |
| 03. Optional | Null 안전 처리 | ofNullable, orElse, isPresent |
| 04. 정규표현식 | 텍스트 패턴 매칭 | Pattern, Matcher, regex |
비즈니스 로직과 시스템 제어에 필수적인 API입니다.
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 01. Time API 개요 | Java 8 Time API | LocalDate, ZonedDateTime |
| 02. Local 클래스 | LocalDate, LocalTime, LocalDateTime | 날짜/시간 기본 |
| 03. Zoned & Instant | ZonedDateTime, Instant | 타임존, UTC |
| 04. Period & Duration | 기간 계산 | 날짜 차이, 시간 차이 |
| 05. 포맷팅 | DateTimeFormatter | 날짜 포맷 변환 |
| 06. 레거시 vs 신규 | Date, Calendar 비교 | 마이그레이션 가이드 |
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 01. File 기본 | 파일 시스템 다루기 | File, Path, Files |
| 02. 텍스트 파일 입출력 | 문자 스트림 (Reader/Writer) | BufferedReader, 인코딩 |
| 03. 바이트 스트림 | 바이너리 & 객체 직렬화 | BufferedStream, Serializable |
가장 난이도가 높고 주의가 필요한 동시성 프로그래밍입니다.
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 01. Thread & Runnable | 스레드 생성과 생명주기 | Thread, Runnable, sleep, join |
| 02. Synchronization | 동기화와 락(Lock) 제어 | synchronized, volatile, ReentrantLock |
| 03. ExecutorService | 스레드 풀 관리 프레임워크 | ThreadPoolExecutor, submit, shutdown |
| 04. Concurrent Collections | 스레드 안전 컬렉션 | ConcurrentHashMap, CopyOnWriteArrayList |
| 05. Atomic Variables | 락 없는(Lock-free) 동기화 | AtomicInteger, CAS, ABA Problem |
| 06. CompletableFuture | 비동기 프로그래밍 패턴 | supplyAsync, thenApply, allOf |
| 07. Virtual Threads | Java 21 가상 스레드 | Virtual Thread, Structured Concurrency |
📖 Read → 💻 Practice → 🤔 Think → 📝 Review → 🔁 Repeat
String 01~03 → Collections (ArrayList, HashMap) → Arrays 기본
String 전체 → Collections 전체 → Math & Arrays
전체 심화 → 성능 최적화 → 실전 패턴
- Java 8 이상 (일부 Java 11+ 기능 포함)
- IntelliJ IDEA 또는 Eclipse, VS Code
git clone https://github.com/dev-book-lab/java-api-reference.git
cd java-api-reference- 관심 있는 챕터의 문서 읽기
- 예제 코드를 직접 실행하며 이해
- 연습 문제로 실력 확인
- 실전 패턴을 프로젝트에 적용
각 문서는 다음과 같은 구조로 구성됩니다:
| 섹션 | 설명 |
|---|---|
| 📌 기본 개념 | 이론과 원리 설명 |
| 💻 메서드 레퍼런스 | 사용법과 예제 코드 |
| 🔥 실전 활용 | 실무 패턴과 활용법 |
| 🎯 연습 문제 | 학습 내용 확인 |
| ⚡ 성능 비교 | 여러 방법의 성능 측정 |
| 📌 핵심 정리 | 빠른 복습용 요약 |
더 좋은 예제나 설명이 있다면 언제든 환영합니다!
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingExample) - Commit your changes (
git commit -m 'Add amazing example') - Push to the branch (
git push origin feature/AmazingExample) - Open a Pull Request
AI와 함께 개발 서적을 분석하고 정리하는 연구소
⭐️ 도움이 되셨다면 Star를 눌러주세요!
Made with ❤️ by Dev Book Lab
"암기가 아닌 이해, 요약이 아닌 통찰"