컴퓨터 & 코딩/Java

[혼공학습단 10기][혼공자] 기본 API 클래스

구로그 2023. 7. 13. 15:40
728x90

Java API Document

 

Java Platform, Standard Edition Documentation - Releases

Java Platform, Standard Edition documentation, current and previous releases

docs.oracle.com

 

✓ java.lang 패키지 

1) Object 클래스: 최상위 부모 클래스 

 - equals(): 객체 비교 true, false 

- hashCode(): 객체 해시 코드(객체를 식별하는 하나의 정수값)

✏️ 컬렉션 프레임워크: HashSet, HashMap, Hashtable이 두 객체가 동등한지 비교하는 방법
hashCode() 메소드 실행하여 리턴된 해시코드 값이 같은지 본 다음 해시 코드값이 같다면 equals() 메소드로 다시 비교한다. 
동등 비교를 위해 equals()와 hashCode() 메소드를 재정의 하는 것이 좋다 

- toString(): 객체의 문자 정보(객체를 문자열로 표현한 값)를 리턴. 기본적으로 '클래스이름@16진수해시코드'로 구성된 문자 정보를 리턴

 

 

2) System 클래스: 운영체제의 일부 기능을 이용

- exit(): 현재 프로세스를 강제 종료. int 매개값이 종료 상태값이다(정상 종료일 경우 0) 

- currentTimeMillis(), nanoTime(): 현재 시각 읽기. 각각 밀리세컨드(1/1000초)단위와 나노세컨드(1/10^9초) 단위의 long 값을 리턴

 

 

3) Class 클래스: 클래스와 인터페이스의 메타 데이터 

- getClass(), forName(): 클래스의 전체 이름과 간단한 이름 그리고 패키지 이름을 얻는 것

- getResource().getPath(): 클래스 경로를 활용해서 리소스 절대 경로 얻기 

 

 

4) String 클래스: 문자열

- String 생성자:

// 배열 전체를 String 객체로 생성
String str = new String(byte[] bytes);

// 지정한 문자셋으로 디코딩
String str = new String(byte[] bytes, String charsetName);

// 배열의 offset 인덱스 위치부터 length 만큼 String 객체로 생성 
String str = new String(byte[] bytes, int offset, int length);

// 지정한 문자셋으로 디코딩
String str = new String(byte[] bytes, int offset, int length, String charsetName);

- System.in.read(): 키보드에서 입력한 내용을 매개값으로 주어진 바이트 배열에 저장하고 읽은 바이트 수를 리턴. 

- charAt(int index): 주어진 인덱스의 문자추출 

- equals(Pbject anObject): 두 문자열 객체 비교 

- getBytes(): 바이트 배열로 변환 

- indexOf(String str): 문자열 찾기. 인덱스를 리턴 

- length(): 문자열의 길이 

- replace(CharSequence target, CharSequence replacement): 문자열 대치 

- substring(int beginIndex): 문자열 잘라내기 

- toLowerCase(), toUpperCase(): 알파벳 소/대문자 변경

- trim(): 문자열의 앞뒤 공백 잘라내기 

- valueOf(): 문자열의 변환. 기본 타입의 값을 문자열로 변환하는 기능. 

 

 

 

5) Wrapper(포장) 클래스 

- 기본타입의 값을 갖는 객체

- char는 Character, int는 Integer, 나머지는 기본타입의 첫 문자들 대문자로 바꾼 이름을 갖고 있다

 

 

- boxing: 기본 타입의 값을 포장 객체로 만드는 과정

- unboxing: 포장 객체에서 기본 타입의 값을 얻어내는 과정. 기본타입이름+Value()메소드 호출

// boxing
Float obj = new Float(2.5F);

//unboxing
float num = obj.floatValue();

 

 

- 자동박싱: 포장 클래스 타입에 기본값이 대입될 경우

- 자동 언박싱: 기본 타입에 포장 객체가 대입 되는 경우와 연산에서 발생 

// 자동 박싱
Integer obj = 100;

// 자동 언박싱
Integer obj = new Integer(200);
int value1 = obj; // 자동 언박싱
int value2 = obj + 100; // 자동 언박싱

 

- 문자열을 기본 타입값으로 변환: parse + 기본타입이름() 정적 메소드 사용 

num = Integer.parseInt("1000");

 

 

❗️ 포장 값을 비교할 때는 배교 연산자가 아닌 equals() 메소드를 사용하여 내부 값을 비교하는 것이 좋다. 

 

 

6) Math 클래스 

모두 정적 메소드

 

- abs(): 절대값

- ceil(): 올림값

- floor(): 버림값 

- max(): 최대값

- min(): 최소값

- random(): 랜덤값

- rint(): 가까운 정수의 실수값

- round(): 반올림값 

 


 

✓ java.util 패키지

Date 클래스

Date now = new Date();

toString()은 영문 날짜를 리턴한다. 원하는 형식의 문자열을 얻고 싶다면 다음과 같이 쓴다. 

SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 hh시 mm분 ss초");
String strNow = sdf.format(now);

 

 

⬇︎ 참고

 

Java SimpleDateFormat - Java Date Format | DigitalOcean

 

www.digitalocean.com

 

 

 

Calendar 클래스 

- 추상 클래스 

- 정적 메소드인 getInstance() 메소드를 이용하여 현재 운영체제에 설정되어 있는 시간대를 기준으로 한 Calendar 하위 객체를 얻을 수 있음 

Calendar now = Calendar.getInstance();

int year = now.get(Calendar.YEAR);

int month = now.get(Calendar.MONTH) + 1;

int day = now.get(Calendar.DAY_OF_MONTH);

int week = now.get(Calendar.DAY_OF_WEEK);

int amPm = now.get(Calendar.AM_PM);

int hour = now.get(Calendar.HOUR);

int minute = now.get(Calendar.MINUTE);

int second = now.get(Calendar.SECOND);

 


💡 Date 클래스에서 요일 받아올 때 언어 설정하는 방법 (예: 한국어)

Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 EEEEE HH시 mm분",new Locale("ko"));
String strNow = sdf.format(now);

System.out.println(strNow);
반응형