*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 |