▶ 자바 표준 라이브러리란?
- 자바 개발 환경(JDK) 내에서 기본적으로 제공되는 라이브러리 모음
- java.* or javax.* 패키지로 구성되어 있으며 다양한 기능을 제공
- 데이터 구조(리스트, 셋, 맵 등)
- 입출력 처리
- 네트워킹
- 스레드 처리
- 날짜와 시간 처리
- 파일 시스템 접근
- GUI 개발
▶ 자바 표준 라이브러리의 장점
- 풍부한 기능: 자바 표준 라이브러리는 기본적인 입출력 작업부터 고급 네트워크 및 데이터베이스 연동 기능까지 폭넓은 기능을 제공
- 코드 재사용성: 표준 라이브러리를 사용하면, 이미 검증된 코드들을 재사용할 수 있어 개발자가 직접 복잡한 기능을 구현할 필요가 없음
- 강력한 호환성: 자바 표준 라이브러리는 모든 자바 플랫폼에서 일관되게 동작하므로, 하나의 코드가 다양한 운영체제와 환경에서 실행될 수 있음
개발자가 손쉽게 강력한 기능을 사용할 수 있도록 돕는 중요한 도구로 데이터 구조, 네트워킹, 입출력 처리 등 다양한 분야에서 제공되는 라이브러리들은 개발 시간을 줄이고, 유지 보수성과 코드의 가독성을 높이는 데 기여하여 더욱 효율적인 개발을 할 수 있도록 함
▶ 주요 패키지
1. java.lang
자바 프로그램에서 기본적으로 포함되는 패키지로 import 선언 없이도 바로 사용이 가능
- Object: 자바의 모든 클래스는 Object 클래스를 상속받음, 이 클래스는 모든 객체의 공통된 특성과 동작을 정의
- String: 문자열을 다루는 클래스로 문자열은 자바에서 변경 불가능한(immutable) 객체로 처리됨
- Math: 수학 계산을 위한 다양한 메서드를 제공 (ex. 삼각 함수, 로그, 제곱근 등)
- System: 표준 입출력 및 환경 설정에 접근할 수 있게 해줌
- Thread: 멀티스레드 프로그래밍을 지원하는 클래스
2. java.util
유틸리티 클래스들을 포함하고 있으며, 자주 사용되는 데이터 구조와 유용한 기능들을 제공
- Collection Framework: 자바의 컬렉션 프레임워크는 데이터를 효율적으로 저장하고 관리할 수 있게 해주는 클래스 모음으로 대표적인 컬렉션 클래스에는 List, Set, Map 등이 있음
- ArrayList: 가변 크기의 배열을 구현한 클래스
- HashMap: 키와 값의 쌍으로 데이터를 저장하는 해시맵 클래스
- Date & Calendar: 날짜와 시간 관련 작업을 처리하는 클래스
- Date : 현재 날짜와 시간을 표현
- Calendar : 날짜와 시간의 복잡한 계산을 처리 가능
- Random: 난수 생성 기능을 제공
- Scanner: 입력을 읽어들이기 위한 클래스로 콘솔에서 사용자 입력을 처리하거나 파일로부터 데이터를 읽을 수 있음
3. java.io
입출력 작업을 다루는 클래스들을 제공( 파일이나 네트워크 스트림을 통해 데이터를 읽고 쓸 수 있게 해 줌)
- File: 파일 및 디렉토리에 대한 정보를 제공하는 클래스로 파일의 존재 여부 확인, 생성, 삭제 등의 작업을 수행
- InputStream/OutputStream: 바이트 단위의 입력 및 출력 스트림을 다루는 추상 클래스
- Reader/Writer: 문자 단위의 입력 및 출력을 처리하는 클래스
4. java.nio
(New Input/Output) 더 빠르고 비동기적인 입출력 작업을 가능하게 해주는 패키지로 네트워크 프로그래밍이나 대규모 파일 처리에서 사용
- Buffer: 데이터를 일시적으로 저장하고, 읽고 쓰는 작업을 효율적으로 처리할 수 있게 해줌
- FileChannel: 파일에서 데이터를 읽고 쓰기 위한 채널을 제공하며 FileChannel을 통해 더 효율적인 파일 작업이 가능함.
5. java.net
네트워크 프로그래밍을 위한 클래스를 제공하여 TCP, UDP 등 다양한 네트워크 프로토콜을 사용하여 데이터 통신을 처리 할 수 있게 함
- Socket: TCP/IP 네트워크 통신을 위한 소켓 클래스
- ServerSocket: 서버 측에서 소켓을 열어 클라이언트와 통신을 할 수 있게 해줌
- URL: 웹 주소(URL)를 다루기 위한 클래스로 URL을 통해 네트워크 상의 리소스에 접근할 수 있음
6. java.sql
데이터베이스와 연동하여 SQL 쿼리를 실행하고 데이터를 처리할 수 있도록 지원
- Connection: 데이터베이스 연결을 표현하는 인터페이스
- Statement: SQL 쿼리를 실행하는 인터페이스
- ResultSet: SQL 쿼리의 결과를 저장하고, 그 결과를 처리할 수 있는 클래스
7. java.swing
그래픽 사용자 인터페이스(GUI)를 작성할 수 있도록 도와주는 라이브러리
- JFrame: 애플리케이션의 윈도우를 만드는 데 사용되는 클래스
- JButton: 클릭 가능한 버튼을 만드는 클래스
- JLabel: 텍스트나 이미지를 표시하는 레이블을 만드는 클래스