Object(java.lang), Objects(java.util) - 객체

apayaya·2022년 8월 11일
0

java - built-in packages

목록 보기
4/8

Object

  • java.lang
  • 모든 클래스의 최상위 조상 클래스
  • 상속관계가 없는 클래스는 컴파일러가 자동으로 extends Object를 추가
  • 메서드만 존재

methods

  • getClass() -> Class
  • hashCode() -> int
    • 기본값 : 객체의 주소를 이용해 생성한 해시코드 리턴
    • equals() 를 override 할때 hashCode() 도 함께 override : equals가 true인 객체의 hashCode 리턴값도 동일하도록
  • equals(Object) -> boolean
    • 기본값 return this==obj;
  • clone() -> Object
    • Cloneable interface가 구현된 객체만 사용가능
  • toString() -> String
    • 기본값 return getClass()+"@"+Integer.toHexString(hashCode());
  • finalize() -> void

cast()

Object pbj;

SomeClass casted = SomeClass.class.cast(obj);

thread 관련 methods

  • notify() -> void
  • notifyAll() -> void
  • wait() -> void

Objects

  • 객체를 조작하는 "정적메서드"를 제공

Static Methods

  • Objects.compare(T a, T b, Comparator<? super T> c) -> int
    • a < b 일때 음수
    • a > b 일때 양수
    • a.equals(b) 일때 0
  • Objects.equals(Object a, Object b) -> boolean
  • Objects.deepEquals(Object a ,Object b) -> boolean
  • Objects.hash(Object ... objs) -> int
  • Objects.hashCode(Object o) -> int
  • Objects.isNull(Object) -> boolean
  • Objects.nonNull(Object) -> boolean
  • Objects.requireNonNull(Object) -> void : Exception 발생
profile
java 정리

0개의 댓글