그만큼 객체 클래스 기본적으로 Java의 모든 클래스의 상위 클래스입니다. 즉, 자바의 최상위 클래스이다.
유형을 모르는 객체를 참조하려는 경우 Object 클래스가 유용합니다. 상위 클래스 참조 변수는 하위 클래스 개체를 참조할 수 있으며 이를 업캐스팅이라고 합니다.
예를 들어 보겠습니다. 객체를 반환하는 getObject() 메서드가 있지만 Employee,Student 등과 같은 모든 유형이 될 수 있습니다. 객체 클래스 참조를 사용하여 해당 객체를 참조할 수 있습니다. 예를 들어:
Object obj=getObject();//we don't know what object will be returned from this method
Object 클래스는 객체 비교, 객체 복제, 객체 알림 등과 같은 모든 객체에 대한 몇 가지 공통 동작을 제공합니다.
객체 클래스의 메소드
Object 클래스는 다양한 메서드를 제공합니다. 그것들은 다음과 같습니다: |
방법 | 설명 |
---|---|
공개 최종 클래스 getClass() | 이 객체의 Class 클래스 객체를 반환합니다. Class 클래스를 사용하여 이 클래스의 메타데이터를 가져올 수도 있습니다. |
공개 int hashCode() | 이 객체의 해시코드 번호를 반환합니다. |
공개 부울은 같음(객체 obj) | 주어진 객체를 이 객체와 비교합니다. |
보호된 객체 clone()이 CloneNotSupportedException을 발생시킵니다. | 이 객체의 정확한 복사본(복제본)을 생성하고 반환합니다. |
공개 문자열 toString() | 이 객체의 문자열 표현을 반환합니다. |
공개 최종 무효 알림() | 이 개체의 모니터를 기다리는 단일 스레드를 깨웁니다. |
공개 최종 무효 통지All() | 이 개체의 모니터를 기다리는 모든 스레드를 깨웁니다. |
공개 최종 무효 대기(긴 시간 초과)로 인해 InterruptedException이 발생합니다. | 다른 스레드가 알릴 때까지(notify() 또는 informAll() 메서드 호출) 현재 스레드가 지정된 밀리초 동안 대기하도록 합니다. |
공개 최종 무효 대기(긴 시간 초과, int 나노초)가 InterruptedException을 발생시킵니다. | 다른 스레드가 알릴 때까지(notify() 또는 informAll() 메서드 호출) 현재 스레드가 지정된 밀리초 및 나노초 동안 대기하도록 합니다. |
public final void wait()가 InterruptedException을 발생시킵니다. | 다른 스레드가 알릴 때까지(notify() 또는 informAll() 메서드 호출) 현재 스레드를 기다리게 합니다. |
protected void finalize()throwable 던지기 가능 | 개체가 가비지 수집되기 전에 가비지 수집기에 의해 호출됩니다. |
우리는 다음 장에서 이러한 방법에 대해 자세히 배울 것입니다.