IT/JAVA

Java Section 15 : 기본 API 클래스

_KH_ 2025. 1. 22. 17:43

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