java

java (object 클래스)

소리소리솔소리 2022. 9. 28. 09:04

*java.lang.Object 클래스

 

java.lang 패키지 중에서도 가장 많이 사용되는 클래스

모든 자바 클래스의 최고 조상 클래스

자바의 모든 클래스는 Object 클래스의 모든 메소드를 바로 사용할 수 있다.

필드를 가지지 않으며, 총 11개의 메소드만으로 구성

 

 

toString()메소드

-해당 인스턴스에 대한 정보를 문자열로 반환

-이때 반환되는 문자열은 클래스 이름과 함께 구분자로 '@'가 사용되며, 그 뒤로 16진수 해시 코드(hash code)가 추가(객체의 메모리 번지를 이용해 해시 코드 생성) - HashSet, HashMap, Hashtable 등

-16진수 해시 코드 값은 인스턴스의 주소를 가리키는 값으로, 인스턴스마다 모두 다르게 반환

 

 

 

equals() 메소드

-해당 인스턴스를 매개변수로 전달받는 참조 변수와 비교하여, 그 결과를 반환

-참조 변수가 가리키는 값을 비교하므로, 서로 다른 두 객체는 언제나 false를 반환

 

 

clone() 메소드

-해당 인스턴스를 복제하여, 새로운 인스턴스를 생성해 반환

-필드의 값만을 복사하므로, 필드의 값이 배열이나 인스턴스면 제대로 복제할 수 없다.

-따라서 이러한 경우에는 해당 클래스에서 clone() 메소드를 오버라이딩하여, 복제가 제대로 이루어지도록 재정의해야 한다.

 

 

 

Object 메소드

protected Object clone() 해당 객체의 복제본을 생성하여 반환함.
boolean equals(Object obj) 해당 객체와 전달받은 객체가 같은지 여부를 반환함.
protected void finalize() 해당 객체를 더는 아무도 참조하지 않아 가비지 컬렉터가 객체의 리소스를 정리하기 위해 호출함.
Class<T> getClass() 해당 객체의 클래스 타입을 반환함.
int hashCode() 해당 객체의 해시 코드값을 반환 함.
void notify() 해당 객체의 대기(wait)하고 있는 하나의 스레드를 다시 실행할 때 호출함.
void notifyAll() 해당 객체의 대기(wait)하고 있는 모든 스레드를 다시 실행할 때 호출함.
String toString() 해당 객체의 정보를 문자열로 반환함.
void wait() 해당 객체의 다른 스레드가 notify()나 notifyAll() 메소드를 실행할 때까지 현재 스레드를 일시적으로 대기(wait)시킬 때 호출함.

 

'java' 카테고리의 다른 글

java (Math 클래스, Date, Calendar 클래스)  (0) 2022.09.28
java (StringBuffer)  (0) 2022.09.28
java (API 클래스)  (0) 2022.09.28
java (package, import문)  (0) 2022.09.27
java (default method, annotation)  (0) 2022.09.27