Object Class
- 자바의 최상위 클래스
- 자바의 모든 클래스는
Object의 파생 형식이다.
자바의 모든 객체는 Object의 자식 객체이다.
extends를 생략한 클래스의 직접 상위 클래스는 자동으로Object가 됩니다.- 생성자의 첫 문장에
this(...)나super(...)가 없으면 컴파일러가super()호출을 암묵적으로 추가합니다. - 따라서 해당 클래스의 생성자 바이트코드에
Object.<init>()호출이 나타납니다. - 다른 클래스를 상속했다면
Object가 아니라 직접 상위 클래스의 생성자를 먼저 호출하며, 생성자 호출 체인을 따라 최종적으로Object까지 도달합니다.
메서드
equals(): 매개변수로 전달된 참조자와this가 가리키는 대상이 같은 값인지 비교hashCode(): 객체 식별을 위한 고유 해시결과 값을 반환, 해당 반환값은 UniquetoString():클래스명@해시코드형식의 문자열을 반환getClass()
equals() 재정의
특정 객체를 여러 참조자를 갖지 않는 이상 비교인자는 무조건 false이다.
그러나 동일성이 아닌 동등성에 대한 비교를 하기 위해서 주로 재정의 과정을 거친다.