Java API Document
✓ 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);
⬇︎ 참고
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);
'컴퓨터 & 코딩 > Java' 카테고리의 다른 글
[혼공학습단 10기][혼공자] 4주차 미션 (0) | 2023.07.17 |
---|---|
[혼공학습단 10기][혼공자] 멀티 스레드 (0) | 2023.07.17 |
[혼공학습단 10기][혼공자] 상속 / 타입 변환과 다형성 / 추상 클래스 (0) | 2023.07.13 |
[혼공학습단 10기][혼공자] 3주차 미션 (0) | 2023.07.12 |
[혼공학습단 10기][혼공자] 예외 처리 (0) | 2023.07.12 |