자바를 사용하여 쉽게 구현할 수 있도록 한 라이브러리의 집합. 자바언어를 통해 사용자의 부담을 최소화하고 길고 복잡한 클래스들을 미리 구현하여 사용자가 쉽게 개발하도록 하는 API
java.lang : 자바의 가장 기본적인 패키지와 인터페이스, 클래스를 포함
java.util : 프로그램을 제어하기 위한 클래스와 데이터를 효율적으로 저장하기 위한 클래스들을 포함
java.io : 입출력 클래스모음 (키보드, 모니터, 프린터, 파일 등)
// ★java.lang 패키지(기본패키지) => import 생략
Object o = null; // 자바 최상위 클래스
System s = null; // 표준입출력(키보드,모니터) JVM종료
Class c = null; // JDBC드라이버 찾기(클래스를 메모리에 로드)
// JDBC 관련 링크 <https://codingwell.tistory.com/23>
String str = null; // 문자열 저장 (수정 불가능) => str이 해당 문자열객체를 참조
StringBuffer b = null; // 문자열 조작 (수정 가능)
Math m = null; // 여러가지 수학적 도구
Integer i = null; // Wrapper 클래스 (8가지)
// java.util 패키지(유용한 클래스) => 주로 컬렉션 클래스 종류
String[] ab = {"manso", "1111"};
Arrays.asList(ab); // 배열 조작(비교, 정렬, 찾기)
Calendar c1 = null; // 운영체제 시간
Date d = null; // 날짜와 시간
Objects o1; // 객체를 비교, null여부
StringTokenizer s2 = null; // 특정 문자열 기준으로 문자열 추출
Random r = null; // 무작위값(난수) 추출 (0 <= r < 1)
(java.lang.Object)
모든 클래스들의 슈퍼클래스 (자동컴파일)
모든 클래스가 Object클래스의 메소드를 상속받아 사용가능
★주요 메소드
*hashCode() ⇒ 객체의 해시코드값(힙에 저장된 메모리주소값. 고유값)을 리턴
*getClass() ⇒ 객체의 클래스 정보를 호출. getName() “클래스이름”
*toString() ⇒ 클래스의 객체를 문자열로 변환
*equals(Object obj) ⇒ obj가 가리키는 객체와 현재 객체를 비교하여 같으면 true 리턴
*notify() ⇒ 현 객체에 대해 대기하고 있는 하나의 스레드를 깨운다.
*notifyAll() ⇒ 현 객체에 대해 대기하고 있는 모든 스레드를 깨운다.
*wait() ⇒ 다른 스레드가 깨울 때까지 현재 스레드를 대기시킴