[ 자바 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 |