개주 훈련일지/📚 코살대 교본 학습

자바 API 문서

lshfood2 2025. 12. 3. 11:12

API(Application Programming Interface)

자바에서 제공하는 API는 프로그램 개발에

자주 사용되는 클래스 및 인터페이스의 모음을

말하며 라이브러리라고도 부른다.

 

[ java.lang 패키지 ] 

자바 프로그램의 기본적인 클래스를 담고 있는 패키지다.

대표적인 5가지를 알아보자.

 

1) Object

: 자바 클래스의 최상위 클래스로 사용

2) System

: 시스템의 표준 입력/출력 장치로부터 데이터를 입력받거나
  출력하기 위해 사용, 자바 가상 기계를 종료할 때 사용

3) String

: 문자열을 저장하고 여러 가지 정보를 얻을 때 사용

4) StringBuffer / StringBuilder

: 문자열을 저장하고 내부 문자열을 조작할 때 사용
5) Math
:  수학 함수를 이용할 때 사용


[ Object 클래스 ] 

자바의 최상위 클래스로 모든 클래스는

생성될 때 Object를 자동으로 상속받는다.

 

따라서 클래스를 생성하면 Object의 메서드를

그대로 사용하거나 override하여 쓸 수 있다.

 

Object 메서드

메서드 설명
protected Object clone() 객체 자신을 복사한 후 반환
boolean equals(Object obj) 다른 객체와 자신이 가진 실제 '값'을 비교
int hashCode() 객체의 hashCode 값을 반환
String toString() 객체 자신의 정보를 반환

[ String 클래스 ] 

문자열을 처리하는 객체형 데이터 타입이다.

문자열 데이터를 담는 간단한 형식으로 사용하지만,

문자열을 처리하기 위한 다양한 기능도 가지고 있다.

 

String 메서드

메서드 설명
int length() 문자열의 길이를 반환
char charAt
(int index)
문자열을 하나의 단어 단위로 출력
파라미터로는 추출할 문자열의 위치를 받음
int indexOf
(String ch)
int indexOf
(int ch)
문자열에 포함된 단어 또는 문자열의 위치를
앞에서부터 검색했을 때 일치하는 위치의
인덱스 값을 반환 (없을 경우 -1 반환)
String replace
(변경할 문자, 변경 문자)
String replaceAll
(변경할 문자, 변경 문자)
단어 또는 문장에 있는 특정 단어를 변경
String substring
(int beginIndex)
문자열을 원하는 위치에서 자를 때 사용
입력된 시작 위치부터 문자열의 '마지막까지' 반환
String substring
(int beginIndex, int endIndex)
문자열을 입력된 시작 위치부터
'마지막 위치 전'까지의 값을 반환

[ StringBuffer 와 StringBuilder 클래스 ] 

String 클래스는 최초 지정된 문자열 이후에

값이 추가되면 내부적으로 새로운 메모리를 할당한다.

 

따라서 문자열을 많이 사용할수록 메모리 사용이 늘어나

메모리 낭비를 하게 되는데, 이런 문제점을 해결하기 위해

가변 속성을 지닌 StringBuffer 또는 StringBuilder 를 사용한다.

 

내부에 여유 공간을 두고 만들어지기 때문에

문자열을 합칠 때 메모리를 새롭게 생성하는 과정을

String보다 현저히 줄일 수 있다.

String
메모리
100 →  하나
200 →  하나 / 둘
300 →  하나 / 둘 / 셋

StringBuffer/StringBuilder
메모리
100 →  하나
100 →  하나 / 둘
100 →  하나 / 둘 / 셋
....
200 →  하나 / 둘 / 셋 / 넷 / 다섯 / 여섯

Buffer와 Build는 사용 기능에 차이는 없으나

Buffer가 스레드 환경에서 안정성 기능을 추가로 갖고 있다.

(스레드가 아닐 시 Build가 성능 좋음)

 

StringBuilder 메서드

메서드 설명
append(String str) 기존 문자열 뒤에 더하여 반환
delete(int start, int end) 시작 위치부터 끝 위치 전까지 삭제
insert(int offset, String str) 시작 위치부터 문자열을 삽입
reverse() 문자열을 반대로 출력

[ Math 클래스 ]

수학에서 자주 사용되는 상수들과

함수들을 미리 구현해놓은 클래스로 

자바에서 수학 계산이 필요할 때 주로 사용한다.

 

Math 메서드

메서드 설명
double random() 랜덤값을 반환
int abs(int a)
double abs(double a)
절대값 계산
double ceil(double a) 올림 계산
double floor(double a) 버림 계산
double round(doublea) 반올림 계산
int max()
double max()
최대값을 구하는 계산
int min(int a, int b)
double min(double a, double b)
최소값을 구하는 계산

 

▼ 자주 사용하는 랜덤값 공식 (외워두기)

int randvalue = (int)(Math.random()*30)+1

랜덤 범위 : 1<= x <= 30
곱한 숫자(*)가 최대값, 더한 숫자(+)가 최소값이 된다.


[ Wrapper 클래스 ]

기본 타입의 데이터를 객체형으로

표현해야 하는 경우에 사용한다.

(= 기본형의 데이터 타입을 클래스로 포장)

 

클래스 종류

기본 데이터 타입 Wrapper 클래스
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

 

▼ 문자 타입의 데이터를 숫자 타입의 데이터로 변환

숫자로 표기되어 있지만 전송의 편의상 모든 데이터를

문자 또는 문자열 타입으로 전송하는 경우가 있다.

 

이런 경우 받는 쪽에서 데이터 타입을 변경하여 사용해야 하는데

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");

 

아래와 같이 "parse + 기본 타입 명"의

메서드를 사용해 변경할 수 있다.

String intStr = 70;
//문자열 숫자 70
int myScore=Integer.parseInt(intStr);
//정수형으로 변환

[ java.util 패키지 ] 

프로그램을 개발하는 데 사용할 수 있는

유용한 유틸리티 클래스가 포함되어 있다.

 

특히 날짜와 시간 정보를 제공해 주는

Calendar 클래스가 있으며, 이를 알아보자.

 

Calendar 클래스 선언

캘린더 클래스는 추상 클래스로 new 키워드를

선언하지 않고 생성된 인스턴스를 받아오는 형식이다.

Calendar cal = new Calendar(); 
//에러 발생 - new사용 금지!

Calendar cal = Calendar.getInstance(); 
//이렇게 인스턴스를 받아와서 사용

 

Calendar 클래스 속성

날짜를 표시하기 위해 자주 사용하는 값들을

상수화하여 관리하는 상수 필드가 존재한다.

상수 필드
YEAR, 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/1000초를 나타내는 상수
HOUR_OF_DAY 현재 날의 시각을 의미하는 상수(0-23)
AM_PM HOUR가 정오보다 이전이면 0을, 이후이면 1의 값을 가지는 상수
WEEK_OF_MONTH 현재 달의 몇 번째 주인지를 나타내는 상수
WEEK_OF_YEAR 현재 해의 몇 번째 주인지를 나타내는 상수

 

상수 필드를 호출하는 방법

Calendar cal = Calendar.getInstance();

int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) +1;
//0-11 이므로 +1 해줘야 우리가 아는 월 개념이 된다.
int day = cal.get(Calendar.DAY_OF_MONTH);

상수이기 때문에 클래스 명을 호출하여 사용한다.

'개주 훈련일지 > 📚 코살대 교본 학습' 카테고리의 다른 글

람다식  (0) 2025.12.06
컬렉션 프레임워크 (Collection Framework)  (0) 2025.12.04
프로젝트 계획과 스케줄링  (0) 2025.12.02
예외 처리  (0) 2025.12.02
내부 클래스와 종류  (0) 2025.12.01