언어(Language)/Java

[Java] 자바 Object 클래스 개념 정리

잇트루 2022. 9. 16. 04:00
반응형

오브젝트 클래스 (Object Class)

자바의 Object 클래스는 클래스 상속계층도에서 최상위 계층에 위치한 상위 클래스이다. 따라서, 자바의 모든 클래스는 Obejct 클래스로부터 확장된다.

자바 컴파일러는 컴파일링 과정에서 다른 클래스로부터 아무런 상속을 받지 않는 클래스는 자동으로 extends Object를 추가하여 Object 클래스를 상속받도록 한다.

class Parents { // 컴파일러가 extends Object 자동 추가
}

class Child extends Parents {
}

따라서 생성한 모든 클래스들은 Object 클래스의 멤버들을 자동으로 상속받아 사용할 수 있다.

 

Object 클래스의 메서드

toString() 메서드

toString() 메서드는 객체의 정보를 문자열로 출력한다. 반환 타입은 String 형이다

Parents parents1 = new Parents();
Parents parents2 = new Parents();

System.out.println(parents1.toString());
System.out.println(parents2.toString());

 

equals(Object obj)

등가 비교 연산(==)과 동일한 역할로 스택에 저장된 메모리 값을 비교한다. 반환 타입은 Boolean 형이다.

Parents parents1 = new Parents();
Parents parents2 = new Parents();

System.out.println(parents1.toString(parents2));

 

hashCode()

객체의 위치정보 관련하여 해시 코드 값을 출력한다. 반환 타입은 int 형이다.

Parents parents1 = new Parents();
System.out.println(parents1.hashCode());

 

wait()

해당 객체의 현재 스레드를 일시적으로 대기시킨다. () 안에 대기 시간을 입력할 수도 있다.

 

notify()

해당 객체의 대기 중인 스레드를 다시 실행한다. notifyAll() 메서드를 통해 대기 중인 모든 스레드를 다시 실행시킬 수 있다.

 

clone()

해당 객체를 복제하여 새로운 인스턴스를 생성하여 반환한다. 단, 필드의 값만을 복사한다.

반응형