본문 바로가기

Language/Java

[Java] Object 클래스

java.lang 패키지

자바에서 가장 기본적인 동작을 수행하는 클래스들의 집합으로 import 문을 사용하지 않아도 클래스 이름만으로 바로 사용할 수 있다. 이 중에서 가장 많이 사용되며, 자바 클래스의 최고 조상 클래스는 Object 클래스이다. 

 

Object 클래스는 필드는 가지지 않으며 총 11개의 메소드를 가지고 있다.

 

Object Class Method

메소드 설명
String toString() * 해당 객체의 정보를 문자열로 반환한다. 
protected Object clone() 해당 객체의 복제본을 생성하여 반환한다.
boolean equals(Object obj) * 해당 객체와 전달받은 객체가 같은지 여부를 반환한다. ( 스택 메모리값 비교)
Class<T> getClass() 해당 객체의 클래스 타입을 반환한다.
int hashCode() * 해당 객체의 해시 코드값을 반환한다. 
void notify() * 해당 객체의 대기하고 있는 하나의 스레드를 다시 실행할 때 호출한다.
void notifyAll() 해당 객체의 대기하고 있는 모든 스레드를 다시 실행할 때 호출한다.
void wait() * 해당 객체의 다른 스레드가 notify()나 notifyAll() 메소드를 실행할 때 까지 현재 스레드를 일시적으로 대기시킬 때 호출한다.
void wait(long timeout) 해당 객체의 다른 스레드가 notify()나 notifyAll() 메소드를 실행하거나 전달받은 시간이 지날 때 까지 현재 스레드를 일시적으로 대기시킬 때 호출한다. 
void wiat(long timeout, int nanos) 해당 객체의 다른 스레드가 notify()나 notifyAll() 메소드를 실행하거나 전달받은 시간이 다른 스레드가 현재 스레드를 인터럽할 때까지 현재 스레드를 일시적으로 대기시킬 때 호출한다.
protected void finalize() 해당 객체를 더는 아무도 참조하지 않아 가비지 컬렉터가 객체의 리소스를 정리하기 위해 호출한다.

*은 자주 사용하는 메소드를 나타낸 것이다.

 

참고 : https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/Object.html

 

 

 

 

'Language > Java' 카테고리의 다른 글

[Java] Collection 프레임워크  (0) 2023.05.15
[Java/ERROR] ConcurrentModificationException  (0) 2022.12.09
[Java] Object 클래스 메소드 - toString()  (0) 2022.11.07
[Java] 기타 제어자  (0) 2022.11.07
[Java] this 키워드  (0) 2022.11.04