Object클래스의 주요 메소드 - equals() 메소드, toString() 메소드, finalize() 메소드, getClass(), hashCode(), toString()

CODEDRAGON Development/Java

반응형


 

Object클래스의 주요 메소드

·       equals() 메소드

·       toString() 메소드

·       finalize() 메소드

 

 

메소드

설 명

protected Object clone()

객체를 복사합니다.

boolean equals(Object obj)

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

protected void finalize()

가비지 컬렉션을 위해 객체의 리소스를 정리할 때 호출합니다.

Class getClass()

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

int hashCode()

객체의 해쉬코드값을 반환합니다.

void notify()

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

void notifyAll()

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

String toString()

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

void wait()

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

void wait(long timeout)

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

void wait(long timeout, int nanos)

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

 

 

 

 

equals() 메소드

·       객체의 인스턴스 값 비교

·       객체 비교시 실제 값(value)을 비교하지 않고 위치값(참조값, 주소값, reference)을 비교합니다.

·       실제값을 비교하기 위해서는 equals() 메소드를 오버라이딩(Overriding)해서 사용해야 합니다.

·       Object 클래스의 equals() 메소드를 인스턴스의 내용비교 메소드로 지정해 놓았기 때문에, 처음 접하는 클래스의 인스턴스라 하더라도 equals 메소드의 호출을 통해서 인스턴스간 내용 비교를 할 수 있습니다.

·       서로 다른 두 인스턴스를 동등 연산자(==)로 비교하게 되면, 언제나 false 값을 반환되게 됩니다. 그러므로 인스턴스에 저장된 값의 동등 여부를 정확히 판단하려면 equals() 메소드를 사용해야만 합니다.

 

 

Object 클래스의 equals()

public boolean equals(Object obj) {

        return (this == obj);

}

 

 

toString() 메소드

·       참조값 확인

·       객체(인스턴스의 reference)에 대한 정보를 문자열로 반환해 줍니다.

·       반환되는 문자열은 클래스 이름과 함께 구분자로 '@'가 사용되며, 그 뒤로 16진수 해쉬 코드(hash code)가 추가됩니다.

·       자바에서 toString() 메소드는 기본적으로 각 API 클래스마다 자체적으로 오버라이딩을 통해 재정의되어 있습니다.

 

클래스명@16진수해쉬코드

com.object1.ObjectClassEx05@6d06d69c

 

 

 

finalize() 메소드

·       인스턴스가 완전히 소멸되기 직전 호출되는 메소드,

·       Object 클래스의 멤버이므로 모든 인스턴스에는 이 메소드가 존재합니다

 

 

기타 메소드

메소드

설명

getClass()

클래스 정보 확인

hashCode()

객체를 식별할 수 있는 unique한 값