C++의 STL 같은 개념
자바 표준 라이브러리(Java Standard Library) 구조
자바 라이브러리는 크게 다음 패키지들로 구성됨:
| java.lang | 기본 클래스, 자동 import |
| java.util | ArrayList, Map, Set, Arrays 등 자료구조 |
| java.io | 입력/출력 처리 |
| java.time | 날짜, 시간 |
| java.math | 큰 수 계산 |
| java.util.concurrent | 스레드(초반에는 선택) |
1. java.lang — 기본 클래스(자동 import)
별도 import 없이 기본으로 제공되는 핵심 클래스들
| String | 문자열 |
| StringBuilder, StringBuffer | 문자열 조작(append 등) |
| Math | 수학 함수 |
| Object | 모든 클래스의 부모 |
| System | 입출력(System.out) 등 |
| Integer, Double 등 | Wrapper 클래스 |
| Runtime | JVM 제어 |
2. java.util — 자료구조 & 유틸
| ArrayList | 동적 배열 (vector 같은 느낌) |
| LinkedList | 연결 리스트 |
| HashMap | key-value 저장, 가장 많이 사용 |
| TreeMap | key 정렬되는 Map |
| HashSet | 중복 없는 집합 |
| TreeSet | 정렬되는 Set |
| Stack | 스택 |
| Queue (LinkedList) | 큐 |
| PriorityQueue | 힙 (우선순위 큐) |
| Arrays | 배열 도우미 클래스 (sort 등) |
| Collections | 컬렉션 관련 정적 메소드 (sort, shuffle 등) |
3. java.io — 입출력 스트림
파일 읽기/쓰기, 바이트/문자 스트림 기반
- File
- FileInputStream, FileOutputStream
- BufferedReader, BufferedWriter
- InputStreamReader
- PrintWriter
4. java.nio — 고성능 I/O
- 고성능 파일/네트워크 I/O
- Files, Paths
- ByteBuffer
파일 읽기 예:
String text = Files.readString(Path.of("file.txt"));
5. java.time — 날짜/시간(필수)
Java 8 이후 표준
- LocalDate
- LocalTime
- LocalDateTime
- Duration
- Period
- DateTimeFormatter
예시:
LocalDateTime now = LocalDateTime.now();
6. java.math — 큰 정수/정확한 연산
| BigInteger | 무한 정수 (큰 수 연산) |
| BigDecimal | 정밀한 소수 계산 (금융 등) |
예:
BigInteger big = new BigInteger("12345678901234567890");
7. java.net — 네트워크 프로그래밍
- URL
- URLConnection
- Socket
- ServerSocket
8. java.util.concurrent — 멀티스레딩/동시성
- ExecutorService
- ThreadPoolExecutor
- Future
- CountDownLatch
- ConcurrentHashMap
9. java.text — 포맷팅/파싱
- DecimalFormat
- NumberFormat
- SimpleDateFormat
'Java > 기초 공부' 카테고리의 다른 글
| int와 Integer (0) | 2025.11.26 |
|---|---|
| 인터페이스(interface) (0) | 2025.11.21 |
| 상속(2) - 부모생성자, 오버라이딩, 클래스 형변환 (0) | 2025.11.20 |
| 상속(1) - 상속, 접근제한자, 추상클래스 (0) | 2025.11.20 |
| 클래스 다듬기 - 생성자, this, 오버로딩, 패키지 (0) | 2025.11.20 |