# Object
- 최상위 클래스
- 클래스 파일을 만들면 자동으로 Object 클래스가 extends 됨
| Object 클래스의 메서드 | 설 명 |
|---|---|
| clone | 객체 자신의 복사본을 반환 |
| equals | 객체 자신과 객체 obj가 같은 객체인지 |
| finalize | 객체가 소멸될 때 가비지 컬렉터에 의해 자동적으로 호출되어 객체가 소멸되기 직전에 데이터들을 반납 요즘은 다른방법으로 청소하여 사용되지 않음 (deprecated) |
| getClass | 객체 자신의 클래스 정보(설계도)를 담고있는 Class 인스턴스를 반환다른 곳에서 해당 객체의 정보를 가지고 객체를 재생성 해야 할때 이용됨 |
| hashCode | 객체 자신의 해시코드를 반환 해시코드는 메모리 주소를 int형으로 변환한 값 |
| toString | 객체 자신의 정보를 문자열로 반환 |
| notify | (스레드용 메서드) 객체 자신을 사용하려고 기다리는 쓰레드를 하나만 깨움 |
| notifyAll | (스레드용 메서드) 객체 자신을 사용하려고 기다리는 모든 쓰레드를 깨움 |
| wait | (스레드용 메서드)다른 쓰레드가 notify() 나 notifyAll() 을 호출할 때까지 현재 쓰레드를 무한히 또는 지정된 시간만큼 기다리게 함 |
# 스레드용 메서드
- 호출하는 스레드가 반드시 고유 락을 갖고 있어야 함
synchronized 블록, 메서드 밖에서또는해당 객체의 락을 소유하지 않은 상태에서wait, notify, notifyAll을 호출하면 IllegalMonitorStateException이 발생