[1일1쓰기] Day 22 - 11장. 기본 API 클래스

Ki Tae Park·2021년 7월 10일
0

자바

목록 보기
10/13

11.1 자바 API 도큐먼트

11.2 java.lang과 java.util 패키지

11.2.1 java.lang 패키지

11.2.2 java.util 패키지

11.3 Object 클래스

11.3.1 객체 비교(equals())

11.3.2 객체 해시코드(hashCode())

11.3.3 객체 문자 정보(toString())

11.3.4 객체 복제(clone())

얕은 복제(thin clone)

깊은 복제(deep clone)

11.3.5 객체 소멸자(finalize())

11.4 Objects 클래스

11.4.1 객체 비교(compare(T a, T b, Comparatorc))

11.4.2 동등 비교(equals()와 deepEquals())

11.4.3 해시코드 생성(hash(), hashCode())

11.4.4 널 여부 조사(isNull(), nonNull(), requireNonNull())

11.4.5 객체 문자 정보(toString())

11.5 System 클래스

자바 프로그램은 운영체제상에서 바로 실행되는 것이 아니라 JVM 위에서 실행된다. java.lang 패키지에 속하는 System 클래스를 사용하여 모든 운영체제의 기능은 아니지만 일부 기능은 사용할 수 있다.

11.5.1 프로그램 종료(exit())

System.exit(0);

11.5.2 쓰레기 수집기 실행(gc())

자바는 JVM이 알아서 메모리를 자동으로 관리한다. JVM에게 쓰레기 수집기를 가능한한 빨리 수행해달라고 요청하는 코드가 바로 System.gc() 메소드이다. 이렇게 하면 바로 쓰레기 수집기가 실행되는건 아니지만 가능한한 빠른 시간내에 수행하려고 노력한다.

System.gc();

11.5.3 현재 시각 읽기(currentTimeMillis(), nanoTime())

11.5.4 시스템 프로퍼티 읽기(getProperty())

11.5.5. 환경 변수 읽기(getenv())

11.7 String 클래스

11.7.1 String 생성자

11.7.2 String 메소드

문자 추출(charAt())

문자열 비교(equals())

equlas는 원래 Object 의 번지 비교 메소드지만 String 클래스가 오버라이딩을 해서 문자열을 비교하도록 바꾼 것임

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

문자열 찾기(indexOf())

문자열 길이(length())

문자열 대치(replace())

문자열 잘라내기(substring())

알파벳 소.대문자 변경(toLowerCase(), toUpperCase())

주로 영어로 된 두 문자열을 대소문자 관계없이 비교할 때 사용된다. equals 메소드와 주로 이용되는데 대.소문자 중 한 가지 형태로 변경 후 비교를 해야한다. 그러나 equalsIgnoreCase() 메소드를 사용하면 이 작업이 생략된다.

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

문자열 변환(valueOf())

11.9 StringBuffer, StringBuilder 클래스

문자열을 결합하는 + 연산자를 많이 사용할 수록 그만큼 String 객체 수가 늘어나기 때문에 프로그램 성능을 느리게 하는 요인이 된다. StringBuilder 또는 StringBuffer는 내부 버퍼(buffer: 데이터를 임시로 저장하는 메모리)에 문자열을 저장해 두고, 그 안에서 추가, 수정, 삭제 작업을 할 수 있도록 설계되어 있다.

StringBuilder와 StringBuffer의 사용 방법은 동일하지만 차이점은 StringBuffer는 멀티 스레드 환경에서 사용할 수 있도록 동기화가 적용되어 있어 스레드에 안전하고 StringBuilder는 단일 스레드 환경에서만 사용하도록 설계되어 있다.

11.12 Wrapper(포장) 클래스

Wrapper 클래스 목록

11.12.1 박싱(Boxing)과 언박싱(Unboxing)

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

언박싱: 포장 객체에서 기본 타입의 값을 얻어내는 과정

박싱 처리를 해주려면 생성자를 이용하거나 각 포장 클래스마다 가지고 있는 정적 valueOf() 메소드를 사용하면 된다

언박싱 처리를 위해선 다음과 같은 이름으로 된 메소드를 호출한다.

"기본타입명+Value()"

11.12.2 자동 박싱과 언박싱

포장 클래스 타입에 기본값이 대입될 경우 자동 박싱이 발생함.

기본 타입에 포장 객체가 대입될 경우 자동 언박싱이 발생함.

11.12.3 문자열을 기본 타입 값으로 변환

11.12.4 포장 값 비교

profile
#Coder Became Developer

0개의 댓글