Object 클래스
- 모든 클래스의 최고 조상
- 오직 11개의 메서드만 가지고 있음
메서드 | 설명 |
protected Object clone() | 객체 자신의 복사본 반환 |
public boolean equals(Object obj) | 객체 비교, 객체 자신과 객체 obj가 같은 객체인지 비교 |
protected void finalize() | 객체 소멸 시 가비지 컬렉터에 의해 자동 호출 됨 객체 소멸 시점에 수행되어야 하는 코드가 있는 경우 오버라이딩 (거의 사용 안함, 메모리 부족으로 객체 소멸 시키려고하는데 finalize 수행하는데 더 많은 시간이 사용되어 사용을 권하지 않음) |
public Class getClass() | 객체 자신의 클래스 정보(설계도 객체)를 담고 있는 Class 인스턴스 반환 *설계도 객체를 통해 객체를 생성하고 객체 정보를 확인할 수 있음(Reflection API) |
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) 동안 기다리게 함 |
* protected는 오버라이딩하여 public으로 변경하여 사용
1. equals(Object obj)
- 객체 자신(this)과 주어진 객체(obj)를 비교하여 같으면 true, 다르면 false 반환
- object클래스의 equals()는 객체의 주소를 비교(참조변수 값 비교)
- 주소 비교가 아닌 주소가 가진 값을 비교하기 위해서는 equals()를 오버라이딩하여 사용
2. hashCode()
-객체의 해시코드(hash code)를 반환하는 메서드
- 객체의 주소를 int로 변환해서 반환
3. toString()
- 객체를 문자열(String)으로 변환하기 위한 메서드
public String toString() {
return getClass().getName()+"@"+Integer.toHexString(hashCode());
// 설계도 객체.클래스명.@(위치).16진.객체주소
}
4. getClass()
- 자신이 속한 클래스의 Class 객체를 반환하는 메서드
- Class 객체는 클래스의 모든 정보를 담고 있음
- 클래스는 단 1개의 Class객체를 갖음
- 클래스파일(*.class)이 메모리에 로드될 때 생성됨
'Java' 카테고리의 다른 글
Java StringBuilder / StringBuffer 클래스 (0) | 2022.12.30 |
---|---|
Java String 클래스 (0) | 2022.12.30 |
Java 예외처리(exception handeling)2 (0) | 2022.12.29 |
Java 예외처리(exception handling) (0) | 2022.12.29 |
Java 내부 클래스(inner class) (0) | 2022.12.29 |