자바[JAVA] : Object 클래스

2021. 1. 28. 03:00카테고리 없음

반응형

● Object 클래스

 모든 클래스의 조상 

Object 클래스는 모든 클래스 상속계층도의 최상위에 있는 조상클래스이다. 다른 클래스로부터 상속 받지 않는 모든 클래스들은 자동적으로 Object클래스로부터 상속받게 함으로써 이것을 가능하게 한다.

아래와 같이 다른 클래스로부터 상속받지 않는 클래스를 정의하면 코드를 컴파일 할 때 자동적으로 extends Object를 추가하여 상속받도록 한다.

class Example {
 ...
}

//Object가 자동적으로 추가되어있음.
class Example extends Object {
 ...
}

String클래스나 System클래스를 import문 없이 따로 정의하지 않고 사용할 수 있었던 이유는 이 메서드들이 Object클래스에 정의된 것들이기 때문이다. Object클래스에는 모든 인스턴스가 가져야 할 기본적인 11개의 메서드가 정의되어 있으며 그 목록은 다음과 같다.

Object클래스의 메서드 설 명
protected Object clone(   ) 객체 자신의 복사본을 반환한다.
public boolean equals(Object obj) 객체 자신과 객체 obj가 같은 객체인지 알려준다.(같으면 true)
protected void finalize() 객체가 소멸될 때 가비지 컬렉터에 의해 자동적으로 호출된다.
이 때 수행되어야하는 코드가 있을 때 오버라이딩한다.(거의 사용되지 않음)
public Class getClass() 객체 자신의 클래스 정보를 담고 있는 Class인스턴스를 반환한다.
public int hashCode() 객체 자신의 해시코드를 반환한다.
public String toString() 객체 자신의 정보를 문자열로 반환한다.
public void notify() 객체 자신을 사용하려고 기다리는 쓰레드를 하나만 깨운다.
public void notifyAll() 객체 자신을 사용하려고 기다리는 모든 쓰레드를 깨운다.
public void wait()
public void wait(long timeout)
public void wait(long timeout, int nanos)
다른 쓰레드가 notify()나 notifyAll()을 호출할 때까지 현재 쓰레드를 무한히 또는 지정된 시간(timeout, nanos)동안 기다리게 한다. (timeout은 천 분의 1초, nanos는 109분의 1초)

 

 

 

출처 : 자바의정석

반응형