logo

Java의 객체 클래스

그만큼 객체 클래스 기본적으로 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 던지기 가능개체가 가비지 수집되기 전에 가비지 수집기에 의해 호출됩니다.

우리는 다음 장에서 이러한 방법에 대해 자세히 배울 것입니다.