<aside>
</aside>
모든 클래스의 조상님이다.
모든 클래스를 Object
를 내부적으로 상속하고 있다. 그래서 Object 안에 있는 모든 메서드들을 사용할 수 있다. extends Object
라고 명시되어 있지 않은 이유는 상속은 하나의 클래스만 가능하기 때문에 Java에서 자체적으로 막아뒀다.
class Profile {
}
public class Main {
public static void main(String args[]) {
Profile profile = new Profile();
// Object에 선언되어 있는 메서드를 사용
profile.toString();
profile.hashCode();
}
}
Object 클래스는 필드는 따로 없으며 11개의 메서드로 구성되어 있다.
접근 제어자 | 반환 타입 | 메서드 | 파라미터 | 설명 |
---|---|---|---|---|
private | Object | clone | 객체 자신의 복사본을 반환한다. | |
public | boolean | equals | Object obj | 객체 자신과 obj가 같은 객체인지 알려준다. |
Class | getClass | 객체 자신의 클래스 정보를 반환한다. | ||
int | hashCode | 객체 자신의 해시코드(메모리 주소 → int)를 반환한다. | ||
String | toString | 객체 자신의 정보를 문자열로 반환한다. | ||
void | notify | (스레드용 메서드) 객체 자신을 사용하려고 하는 스레드를 하나만 깨운다. | ||
void | notifyAll | (스레드용 메서드) 객체 자신을 기다리는 모든 스레드를 깨운다. | ||
void | wait | (스레드용 메서드) 다른 스레드가 notify() 로 깨우기 전까지 정해진 시간 동안 기다린다. |
||
long timeout | ||||
long timeout, int nanos |
Object 클래스와 별개로 Java에서 유틸리티 메서드를 정적으로 만들어둔 클래스이다.