✔️ 오브젝트 클래스
오브젝트 클래스란?
- Java의 최상단 클래스
- 자바의 클래스를 선언할 때 extends 키워드로 다른 클래스를 상속하지 않으면 암시적으로 오브젝트 클래스를 상속하게 됨
- 따라서 자바의 모든 클래스는 오브젝트 클래스의 자식이거나 자손 클래스가 됨
- 오브젝트 클래스는 필드가 없고 메소드로 구성되어 있으며
이 메소드들은 모든 클래스들이 오브젝트 클래스를 상속하므로 모든 클래스에서 이용할 수 있음
오브젝트 클래스가 가지고 있는 메서드
- equals()은 객체를 비교해 두 객체가 동일한 객체라면 true, 그렇지 않으면 false를 반환함
- 하위 클래스에서 재정의하여 논리적으로 동일한 데이터를 저장하고 있는지 동등 비교에 사용할 수 있음
- hashCode()는 객체의 메모리 번지를 이용해서 객체를 식별할 하나의 정수값을 만들어서 반환함
- 논리적 동등 비교시 equals() 메소드를 재정의하면서 hashCode()도 재정의하여 동일한 해시 코드가 반환되도록 해야 함
- toString()은 객체의 문자 정보를 반환함
- toString() 메소드의 반환 값은 자바 어플리케이션에서 값어치 없는 정보이므로
하위 클래스에서 재정의하여 간결하고 유익한 정보를 반환하도록 함
- toString() 메소드의 반환 값은 자바 어플리케이션에서 값어치 없는 정보이므로
- wait()
- 갖고 있는 고유 락을 해제하여 스레드를 잠들게 함
- 호출하는 스레드가 반드시 고유 락을 가지고 있어야 하며 Synchronized 블록 내에서 실행되어야 함
- notify()
- 잠들던 스레드 중 임의의 하나를 깨움
- 호출하는 스레드가 반드시 고유 락을 가지고 있어야 하며 Synchronized 블록 내에서 실행되어야 함
- notifyAll()
- 잠들어 있던 스레드들을 모두 깨움
- 호출하는 스레드가 반드시 고유 락을 가지고 있어야 하며 Synchronized 블록 내에서 실행되어야 함
'Tech Interview > Language' 카테고리의 다른 글
[Language] 캐스팅 (0) | 2024.03.25 |
---|---|
[Language] Wrapper 클래스 (0) | 2024.03.25 |
[Language] Error & Exception (0) | 2024.03.21 |
[Language] 컴포지션 (0) | 2024.03.21 |
[Language] 오버라이딩 vs 오버로딩 (0) | 2024.03.20 |