자바에서 모든 클래스들의 최상위 조상 클래스이다. 자바에서 만들어지는 모든 클래스는 따로 선언하지 않아도 기본적으로 Object 클래스의 상속을 받게된다. Object클래스에는 11개의 메서드가 포함되어 있다.

obj객체와 자신의 객체가 같은지 비교하는 메서드, 두 객체가 같으면 true, 다르면 false를 반환한다.

Object클래스에 정의되어 있는 equals() 메소드의 소스코드를 살펴보면 두 객체를 비교연산자(==)를 사용하여 비교한후 그 결과를 반환하게 되어 있는것을 알 수 있다.
우리가 보통 기본타입(primitive type)에서 두 값이 같은지를 비교하기 위해서는 비교연산자(==)를 사용한다. 하지만 객체의 경우 참조타입(reference type)이기 때문에 비교연산자(==)를 사용하게 되면 객체의 주소값을 비교하여 두 객체가 같은 객체인지를 비교하게 된다
->따라서 두 객체의 주소값에 대한 비교가 아니라 두 객체가 가지고 있는 변수의 값이 같은지 여부를 비교하기 위해서는 equlas() 메소드를 오버라이드 하여 우리가 원하는 비교 방법을 새롭게 구현하여 사용해야합니다.

.


getClass() 메소드는 객체의 클래스 정보를 알수 있는 메소드로, 해당 정보를 Class타입의 객체로 반환합니다. 반환된 Class타입의 객체는 클래스 정보에 접근할 수 있는 메소드를 가지고 있고, 우리는 이 메소드들을 통해 클래스 정보를 확인할 수 있습니다.



객체를 문자열로 표현된 정보값으로 반환합니다. Object클래스에 정의되어 있는 toString메소드를 살펴보면 아래와 같이 "클래스이름@해시코드값(16진수)"을 반환하도록 되어있습니다.
toString() 메소드 역시 사용자가 유의미한 데이터를 반환하도록 오버라이드하여 사용하는 것이 일반적입니다.

출처: https://kadosholy.tistory.com/107 [KADOSHoly:티스토리]