[Java ☕️] Object :: 모든 클래스의 최상위 부모 클래스!

ConewLog·2024년 7월 23일
0

Java ☕️

목록 보기
1/7

☕️ 김영한의 실전 자바 - 중급 1편 을 수강하며 학습한 내용을 저만의 언어로 정리하고 있습니다.


1. java.lang

  • java 언어의 토대가 되는 클래스들을 담고 있는 패키지이다.
  • Object, Wrapper classes(Integer, Character, String, ...), System, Math, Enum 등을 담고 있다. 이 중 가장 핵심적인 클래스는 ⭐️Object 이다.

2. Object는 모든 클래스의 최상위 부모

  • Object는 클래스 계층 구조의 root!
  • 모든 클래스는 Object 클래스를 superclass(부모)로 갖는다.

왜 Object 클래스가 필요했을까?

  1. 일관된 인터페이스로서의 기능
    • toString(), equals(), hashCode() 등으로 모든 객체에 공통된 동작을 정의한다.
    • 자바 개발자는 모든 객체에 위와 같은 메소드를 활용할 수 있다.
  2. 객체 지향 프로그래밍 - 다형성의 관점에서
    • 모든 객체는 Object 타입으로 참조될 수 있다.
    • 다양한 타입의 객체를 동일한 메소드로 처리할 수 있다.

3. Object 클래스의 메소드

Object 클래스의 메소드

  • toString()
    toString

    • Object.toString()은 위 이미지처럼 기본적으로 객체명과 참조값을 반환한다.
    • 오버라이딩하여 특정 객체를 나타낼 수 있는 문자열을 반환할 것을 권장한다.
  • equals()
    equals

    • Object.equlas()는 위 이미지처럼 기본적으로는 두 객체의 동일성(identity)를 반환한다.
    • 오버라이딩하여 두 객체의 동등성(equality)을 반환할 것을 권장한다.

참고 사이트

profile
코뉴로그

0개의 댓글