봉봉의 개인 블로그

java Object data type조사 본문

관련 지식

java Object data type조사

봉봉이네 2017. 4. 19. 08:54

java.lang.Object 클래스는 자바 API의 모든 클래스와 사용자가 정의한 모든 클래스의 최상위 클래스이다. 즉, 모든 자바 클래스들은 Object 클래스로부터 상속받는다.


사용자가 클래스를 정의할 때 클래스 선언부에 명시적으로 extends java.lang.Object를 지정하지 않아도 자동으로 상속받게 된다. 다시 말해 Object 클래스의 모든 메서드와 변수는 다른 모든 클래스에서도 사용 가능할 수 있다는 말이다.


* Object 클래스의 주요 메소드


 메소드

설 명 

boolean equals(Object obj) 

 두 개의 객체가 같은지 비교하여 같으면 true를, 같지 않으면 false를 반환한다.

String toString() 

현재 객체의 문자열을 반환한다. 

protected Object clone() 

객체를 복사한다. 

protected void finalize() 

가비지 컬렉션 직전에 객체의 리소스를 정리할 때 호출한다. 

Class getClass() 

객체의 클래스형을 반환한다. 

int hashCode() 

객체의 코드값을 반환한다. 

void notify() 

wait된 스레드 실행을 재개할 때 호출한다. 

void notifyAll() 

wait된 모든 스레드 실행을 재개할 때 호출한다. 

void wait() 

스레드를 일시적으로 중지할 때 호출한다. 

void wait(long timeout) 

주어진 시간만큼 스레드를 일시적으로 중지할 때 호출한다. 

void wait(long timeout, int nanos) 

주어진 시간만큼 스레드를 일시적으로 중지할 때 호출한다.


equals 메소드는 두 개의 객체를 참조하는 참조값이 같은 객체일 때 true를 반환하므로, 참조하는 객체의 주소값이 같은 경우를 말한다.


finalize()의 경우 가비지 컬렉션 직전에 객체의 리소스를 정리할 때 호출하고, 오버라이딩할 수 있다고 하지만, 뭔가 문제가 있는거 같습니다.

Comments