[ 자바 API 문서 ]
■ API(Application Programming Interface) : 프로그램 개발에 자주 사용되는 클래스 및 인터페이스 모음 (=라이브러리)
- 자바는 방대한 API 문서를 제공하며, 이를 잘 활용하면 개발 능력 향상에 도움이 됨
[ java.lang 패키지 ]
: 자바의 기본적인 클래스를 담고 있는 패키지
- Object, System, String, StringBuffer / StringBuilder, Math 등이 포함
(스캐너처럼 따로 import하지 않고도 사용 가능)
| 클래스 | 용도 | 
| Object | 자바 클래스의 최상위 클래스로 사용 | 
| System | 시스템의 표준 입력/출력 장치로부터 데이터를 입력받거나 출력하기 위해 사용 자바 가상 기계를 종료할 때 사용 | 
| String | 문자열을 저장하고 여러 가지 정보를 얻을 때 사용 | 
| StringBuffer / StringBuilder | 문자열을 저장하고 내부 문자열을 조작할 때 사용 | 
| Math | 수학 함수를 이용할 때 사용 | 
① Object 클래스 : 자바의 최상위 클래스. 자바의 모든 클래스는 자동으로 상속받는다.
- hashCode(), toString() , boolean equals(Object obj) 등..
※ 객체를 비교하는 equals() 메서드
□ 원시 데이터들(int 등)은 '=='를 사용하지만 객체에서는 equals() 메서드를 사용한다.
- String 등..
- 문자열 비교 시 자바는 대소문자에 엄격하기에 같은 단어라 해도, equals()로 비교할 때 대소문자가 다르면 서로 다른 문자로 인식한다.
※ 해시코드 hashCode() 메서드
□ 해시코드 : 객체를 식별하는 하나의 정수값. 객체마다 고유한 값을 가진다.
- hashCode() : 해시코드를 반환하는 메서드. HashMap 또는 HashSet에서 객체형 데이터를 저장할 때 equals() 메서드와 함께 동일한 객체를 판별하는지 알아볼 때 사용함
※ 객체 문자 정보를 반환하는 toString() 메서드
: 객체의 문자 정보 반환. 해당 메서드를 재정의하면 원하는 객체의 정보를 쉽게 출력 가능
② String 클래스 : 문자열을 처리하는 객체형 데이터 타입
| 메서드 | 설명 | 
| int length() | 문자열의 길이를 반환 | 
| char charAt(int index) | 문자열을 하나의 단어 단위로 출력 파라미터로는 추출할 문자열의 위치를 받음 | 
| int indexOf(String ch) int indexOf(int ch) | 문자열에 포함된 단어 또는 문자열의 위치를 앞에서부터 검색했을 때 일치하는 위치의 인덱스 값을 반환 (없을 경우에는 -1을 반환) | 
| String substring(int beginIndex) | 문자열을 원하는 위치에서 자를 때 사용 입력된 시작 위치부터 문자열의 마지막까지 반환 | 
| String replace(변경할 문자, 변경 문자) | 단어 또는 문장에 있는 특정 단어를 변경 | 
| String substring(int beginIndex, int endIndex) | 문자열을 입력된 시작 위치부터 마지막 위치 전까지의 값을 리턴 | 
③ StringBuffer와 StringBuilder
: 내부에 여유 공간을 두어 문자열 합칠 때 메모리에 새롭게 생성하는 과정을 String보다 현저히 생략함
- StringBuffer는 스레드 환경에서, StringBuilder는 일반적인 프로그래밍에서 사용하면 좋다.
| 메서드명 | 설명 | 
| append(String str) | 기존 문자열 뒤에 더하여 반환 | 
| delete(int start, int end) | 시작 위치부터 끝 위치 전까지 삭제 | 
| insert(int offset, String str) | 시작 위치부터 문자열을 삽입 | 
| reverse() | 문자열을 반대로 출력 | 
④ Math : 수학에서 자주 사용하는 상수들과 함수들을 미리 구현해 놓은 클래스. 객체 선언없이 사용 가능한 정적 메서드
| 메서드 명 | 설명 | 
| int abs(int a) double abs(double a) | 절대값 계산 | 
| double ceil(double a) | 올림 계산 | 
| double floor(double a) | 버림 계산 | 
| double round(double a) | 반올림 계산 | 
| int max() double max() | 최대값을 구하는 계산 | 
| int min(int a, int b) double min(double a, double b) | 최소값을구하는 연산 | 
| double random() | 랜덤값 반환 | 
⑤ Wrapper 클래스 : 기본 자료형을 객체로 다루기 위한 클래스. 기본형의 데이터 타입을 클래스로 포장
| 기본 데이터 타입 | Wrapper 클래스 | 
| byte | Byte | 
| short | Short | 
| int | Integer | 
| long | Long | 
| float | Float | 
| double | Double | 
| char | Character | 
| boolean | Boolean | 
- Wrapper 클래스도 객체 선언해서 사용
- 기본 데이터 타입을 Wrapper 클래스 인스턴스로 변환하는 과정을 "박싱(오토박싱)" 이라하고,
Wrapper 클래스 인스턴스에 저장된 값을 기본 타입의 데이터로 꺼내는 과정을 "언박싱(오토언박싱)"이라 한다.
※ 문자 타입의 데이터를 숫자 타입의 데이터로 변환
| 데이터 타입 | 문자형 -> 숫자형 | 
| byte형 | Byte.parseByte("10"); | 
| short형 | Short.parseShort("10"); | 
| int형 | Integer.parseInt("100"); | 
| long형 | Long.parseLong("100"); | 
| float형 | Float.parseFloat("10.33"); | 
| double형 | Double.parseDouble("30.23"); | 
| boolean형 | Boolean.parseBoolean("true"); | 
[ java.util 패키지 ]
□ Calendar 클래스 : 날짜를 처리하기 위한 클래스
- 추상 클래스 이므로, 다른 객체 선언처럼 new 키워드를 이용해 선언하지 않고 생성된 인스턴스를 받아온다.
Calendar cal = new Calendar(); // 에러
Calendar cal = Calendar.getInstance(); // ok
- 날짜를 표시하기 위해 자주 사용하는 값들을 상수화해서 사용함
| 상수 필드 | |
| YEAT, MONTH, DATE | 연도, 월(0-11), 일(1-31)을 나타내는 상수 | 
| DAY_OF_MONTH | 현재 달의 몇 번째 날인지를 나타내는 상수(1-31) | 
| DAY_OF_WEEK | 현재 주의 몇 번째 날인지를 나타내는 상수(1-7), 1은 일요일 | 
| HOUR, MINUTE | 시(0-11), 분(0-59)을 나타내는 상수 | 
| SECOND, MILLISECOND | 초(0-59)와 1/000초를 나타내는 상수 | 
| HOUR_OF_DAY | 현재 날의 시각을 의미하는 상수(0-23) | 
| AM_PM | HOUR가 정오보다 이전이면 0을, 이후이면 1의 값을 가지는 상수 | 
| WEEK_OF_MONTH | 현재 달의 몇 번째 주인지를 나타내는 상수 | 
| WEEK_OF_YEAR | 현재 해의 몇 번째 주인지를 나타내는 상수 | 
'IT > JAVA' 카테고리의 다른 글
| Java Section 17 : 람다식 (0) | 2025.01.24 | 
|---|---|
| Java Section 16 : 컬렉션 프레임워크 (0) | 2025.01.23 | 
| Java Section 14 : 예외처리 (1) | 2025.01.21 | 
| [DAY 14] 컬렉션 프레임워크 (1) | 2025.01.21 | 
| [DAY 14] 예외처리 (0) | 2025.01.21 |