JAVA/포스팅

자바 Object클래스

짜집퍼박사(짜박) 2023. 11. 10. 23:53

Object 클래스는 자바의 모든 클래스의 조상 클래스(부모 클래스)이며, 자바에서 기본적인 모든 클래스는 Object 클래스를 직접 또는 간접적으로 상속합니다. 따라서 Object 클래스에 정의된 메서드와 속성을 모든 클래스에서 사용할 수 있습니다. Object 클래스에는 다양한 메서드가 정의되어 있으며, 이러한 메서드를 오버라이드(재정의)하여 클래스에 특화된 동작을 구현할 수 있습니다.

Object 클래스의 주요 메서드와 역할에 대해 설명하겠습니다.

 

1. equals(Object obj) 메서드

equals 메서드는 두 객체가 동등한지를 비교하는 역할을 합니다. 기본적으로 equals 메서드는 객체의 참조(메모리 주소)를 비교하므로 실제 객체 내용을 비교하려면 이 메서드를 오버라이드해야 합니다.

 

2. hashCode() 메서드

hashCode 메서드는 객체의 해시 코드를 반환합니다. 해시 코드는 해시 테이블과 같은 자료구조에서 객체를 식별하는 데 사용됩니다.

 

3. toString() 메서드

toString 메서드는 객체를 문자열로 표현하는 데 사용됩니다. 기본적으로는 클래스 이름과 해시 코드를 포함한 문자열을 반환하며, 이 메서드를 오버라이드하여 원하는 형식의 문자열을 반환할 수 있습니다.

 

4. getClass() 메서드

getClass 메서드는 객체의 클래스 정보를 반환합니다. 이 메서드를 통해 객체가 어떤 클래스의 인스턴스인지 확인할 수 있습니다.

 

5. finalize() 메서드

finalize 메서드는 가비지 컬렉션(Garbage Collection)에서 객체가 소멸하기 전에 호출됩니다. 이 메서드를 오버라이드하여 리소스 해제나 정리 작업을 수행할 수 있습니다.

 

6. clone() 메서드

clone 메서드는 객체의 복사본을 생성하는 데 사용됩니다. 객체 복사에 대한 깊은 복사(deep copy) 또는 얕은 복사(shallow copy)를 정의하기 위해 이 메서드를 오버라이드할 수 있습니다.

 

7. notify(), notifyAll(), wait() 메서드

이러한 메서드는 스레드 동기화와 관련이 있으며, 스레드 간의 통신 및 동기화를 위해 사용됩니다.

 

8. finalize() 메서드

finalize 메서드는 객체가 가비지 컬렉션될 때 호출됩니다. 이 메서드를 오버라이드하여 리소스 정리나 정리 작업을 수행할 수 있습니다.

 

9. getClass() 메서드

getClass 메서드는 객체의 클래스 정보를 반환합니다. 이 정보를 통해 객체의 클래스를 확인할 수 있습니다.

Object 클래스의 메서드 중 일부는 모든 클래스에 적용되는 범용적인 동작을 정의하며, 다른 메서드는 특정 상황에 따라 오버라이드하여 커스터마이징할 수 있습니다. Object 클래스는 모든 자바 객체의 공통된 특성과 동작을 정의하기 위한 중요한 역할을 합니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 오버라이딩의 조건  (0) 2023.11.10
자바 오버라이딩이란  (0) 2023.11.10
자바 상속 예제  (0) 2023.11.10
자바 단일상속  (0) 2023.11.10
자바 상속 포함관계  (0) 2023.11.10