-
[Camel][Java] Object 클래스에 대해서Java/개념 정리 2020. 2. 21. 15:45
java.lang 패키지의 최상위 클래스인 Object클래스
Object 클래스는 java.lang 패키지의 최상위 클래스 입니다. java.lang 패키지는 Java에서 가장 자주 사용되는 패키지로서 따로 import를 해주지 않아도 자동으로 import가 됩니다.
Object 클래스란?
Object 클래스는 Java에서 사용할 수 있는 API의 모든 클래스와 사용자가 정의한 클래스의 최상의 클래스라고 말할 수 있습니다. 이말은 즉 Java에서 모든 클래스는 Object 클래스를 상속 받는다는 것입니다. 그렇기 때문에 어떤 클래스에서든 Object 클래스의 변수와 메소드를 사용가능하게 됩니다. Object 클래스의 메소드는 아래의 표에서 확인할 수 있습니다.
또한, https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Object.html<- 여기에서도 확인 가능합니다.
Modifier and Type Method (메소드) Description (설명) protected Object clone() Object를 복사해 생성하고 반환합니다. boolean equals(Object obj) 인자로 전달되는 Object가 동일한 Object인지 비교합니다. protected voidfinalize()가비지 컬렉션 직전에 객체의 리소스를 정리할때 호출합니다.현재 Java API docs를 확인해보면
Deprecated. The finalization mechanism is inherently problematic.
라는 문구와 함께 현재는 사용되지 않음을 명시하고 있습니다.
Class<?> getClass() 객체의 runtime class를 반환합니다. int hashCode() 객체를 위한 hashCode 값은 반환합니다. void notify() Wait 상태에 있는 single Thread를 실행시킵니다. void notifyAll() Wait 상태에 있는 모든Thread를 실행시킵니다. String toString() 참조하는 객체의 문자열을 반환합니다. void wait() 현재 Thread를 일지정시 상태로 만듭니다. void wait(long timeoutMillis) 인자로 전해지는 시간만큼 현재 Thread를 일지정시 상태로 만듭니다. void wait(long timeoutMillis, int nanos) 인자로 전해지는 시간만큼 현재 Thread를 일지정시 상태로 만듭니다. Object 클래스의 사용의 단적인 예의 하나로 우리가 자주 사용하는 System.out.println() 이 있습니다. System.out.println()은 오버로딩이 되어있는 메소드입니다. 여러 오버로딩된 메소드 중에 System.out.println(Object obj)메소드를확인할 수있습니다. 이렇게 메소드의 인자가 Object로 정의되어 있기 때문에 어떠한 클래스의 인스턴스던간에 인자로 전달 할 수있는 것입니다.
'Java > 개념 정리' 카테고리의 다른 글
[Camel][Java] Inner , Local , Anonymous 클래스란? (0) 2020.02.24 [Camel][Java] Abstract Class (추상클래스)와 Interface(인터페이스) (0) 2020.02.21 [Camel][Java] 상속을 위한 관계 (IS-A, HAS-A) 그리고 오버라이딩 (0) 2020.02.20 [Camel][Java] 상속과 접근제어 지시자 (private, protected, public) (0) 2020.02.20 [Camel][Java] Java에서의 상속(Inheritance)이란? (feat. super 키워드) (0) 2020.02.19