본문 바로가기

Java

Java Object 클래스

 

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