실전 예제와 함께하는 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 |
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 01. Exception Basic | 예외 계층 구조와 처리 | try-catch, Checked vs Unchecked |
| 02. Custom Exception | 사용자 정의 예외 설계 | Domain Exception, Exception Chain |
| 03. Best Practices | 실무 예외 처리 패턴 | Logging, Fail-Fast, Anti-Patterns |
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부터 최신 버전(Java 21)까지의 문법과 데이터 처리 기법입니다.
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 01. Functional Interface | 람다식과 표준 인터페이스 | Consumer, Supplier, Function, Predicate |
| 02. Method Reference | 메서드 참조와 생성자 참조 | Class::method, new:: |
| 03. Custom Lambda | 커스텀 인터페이스와 변수 포획 | @FunctionalInterface, Variable Capture |
| Chapter | 주제 | 핵심 키워드 |
|---|---|---|
| 01. Record | 불변 데이터 클래스 | record, Compact Constructor, DTO |
| 02. Switch Expression | 향상된 분기 처리 | arrow syntax, yield, Pattern Matching |
| 03. Sealed Class | 상속 제한 및 계층 제어 | sealed, permits, non-sealed |
| 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. Reflection Basic | 런타임 클래스 정보 조작 | Class, Method, Field, Constructor |
| 02. Annotation | 메타데이터 활용 | @Target, @Retention, @Repeatable |
| 03. Advanced | 프록시 및 고급 기법 | Dynamic Proxy, MethodHandle, Performance |
| 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 |
📘 입문자 (Java 처음 배우는 분)
1주차: 기초 다지기
✅ Day 1-2: String 01-04 (기본 개념, 생성, 검색, 변환)
✅ Day 3-4: Arrays 01-02 (배열 기본, 정렬)
✅ Day 5-7: Math 01-02 + Exception 01
2주차: 자료구조 입문
✅ Day 1-2: Collections 01 (개요) + 02 (ArrayList)
✅ Day 3-4: Collections 03-04 (LinkedList, List 비교)
✅ Day 5-7: Collections 05-06 (HashSet, LinkedHashSet)
3주차: 타입 안전성
✅ Day 1-3: Exception 02-03 (커스텀 예외, Best Practices)
✅ Day 4-5: Generics 01-02
✅ Day 6-7: Enum 01-02
4주차: Modern Java 시작
✅ Day 1-3: Lambda 01-03
✅ Day 4-5: Util 02 (Stream API)
✅ Day 6-7: Util 03 (Optional)
💼 실무자 (업무에 바로 적용)
Week 1: 핵심 자료구조 마스터
✅ Collections 전체 집중
✅ ArrayList vs LinkedList 성능 비교
✅ HashMap 내부 구조 이해
✅ ConcurrentHashMap 실전 활용
Week 2: 날짜/시간 & 파일 처리
✅ DateTime 01-06 (전체)
✅ IO 01-03 (파일 입출력)
✅ Exception Best Practices
Week 3: 함수형 프로그래밍
✅ Lambda 01-03
✅ Stream API 완전 정복
✅ Optional로 null 안전 처리
✅ Comparator 고급 활용
Week 4: 동시성 & 성능 최적화
✅ Concurrency 01-04
✅ Thread Pool 설계
✅ 동기화 문제 해결
✅ Concurrent Collections
🏆 코딩테스트 준비
우선순위 1 (필수):
✅ String 전체 (7개) - 문자열 조작 완벽
✅ Arrays 전체 (6개) - 정렬, 검색, 이진탐색
✅ Collections 04, 08, 12 - List/Set/Map 비교
✅ Math 01 - 수학 함수
우선순위 2 (중요):
✅ Collections 02, 05, 09 - ArrayList, HashSet, HashMap
✅ Collections 13-14 - Queue, PriorityQueue, Stack
✅ Util 01 - Comparator & Comparable
✅ Util 02 - Stream API 기본
우선순위 3 (심화):
✅ String 07 - 실전 패턴 (팰린드롬, 파싱)
✅ Arrays 06 - 다차원 배열
✅ Collections 07, 11 - TreeSet, TreeMap
✅ Util 04 - 정규표현식
추천 학습 순서:
String → Arrays → Collections (List, Set, Map)
→ Queue/Stack → Comparator → Stream 기본
🚀 Modern Java 마스터 (Java 17-21)
Phase 1: 기본기 확인
✅ Lambda 01-03 (람다 & 함수형 인터페이스)
✅ Stream API (데이터 처리 파이프라인)
✅ Optional (null 안전 처리)
Phase 2: Modern Features
✅ Record - 불변 데이터 클래스 (Java 16+)
✅ Switch Expression - 향상된 분기 (Java 14+)
✅ Sealed Class - 상속 제어 (Java 17+)
Phase 3: 최신 동시성
✅ Virtual Threads (Java 21+)
✅ Structured Concurrency
✅ CompletableFuture 고급 패턴
Phase 4: 고급 활용
✅ Pattern Matching (Type Patterns)
✅ Text Blocks
✅ var (Local Variable Type Inference)
⚡ 빠른 복습 (경력 개발자)
Day 1: 핵심만 빠르게
✅ String 07 (실전 패턴)
✅ Collections 04, 08, 12 (비교 문서)
✅ Util 02 (Stream API)
Day 2: Modern Java
✅ Lambda 전체
✅ Modern Java 01-03 (Record, Switch, Sealed)
✅ Concurrency 06 (CompletableFuture)
Day 3: 심화
✅ Concurrency 07 (Virtual Threads)
✅ Reflection 전체
✅ Exception 03 (Best Practices)
📖 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
"암기가 아닌 이해, 요약이 아닌 통찰"