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한 값 |