Java - Object 클래스란?

김영한님의 Java 강의로 기초다지기 - Object 클래스란?

Posted by Warner on April 17, 2024

Object 클래스

자바에서 모든 클래스의 최상위 부모 클래스는 항상 Object 클래스이다. object1.png

자바에서 Object 클래스가 최상위 부모 클래스인 이유

모든 클래스가 Object 클래스를 상속 받는 이유는 다음과 같다.

  • 공통 기능 제공
  • 다형성의 기본 구현

공통 기능 제공
객체의 정보를 제공하고,이 객체가 다른 객체와 같은지 비교하고, 객체가 어떤 클래스로 만들어졌는지 확인하는 기능은 모든 객체에게 필요한 기본 기능이다. 이런 기능을 객체를 만들 때 마다 항상 새로운 메서드를 정의해서 만들어야 한다면 상당히 번거로울 것이다. 그리고 막상 만든다고 해도 개발자마다 서로 다른 이름의 메서드를 만들어서 일관성이 없을 것이다.

Object가 제공하는 기능은 다음과 같다.

  • 객체의 정보를 제공하는 toString()
  • 객체의 같음을 비교하는 equals()
  • 객체의 클래스 정보를 제공하는 getClass()
  • 기타 여러가지 기능

다형성의 기본 구현
부모는 자식을 담을 수 있다. Object는 모든 클래스의 부모 클래스이다. 따라서 모든 객체를 참조할 수 있다. Object 클래스는 다형성을 지원하는 기본적인 메커니즘을 제공한다. 모든 자바 객체는 Object 타입으로 처리될 수 있으며, 이는 다양한 타입의 객체를 통합적으로 처리할 수 있게 해준다. 쉽게 이야기해서 Object는 모든 객체를 다 담을 수 있다. 타입이 다른 객체들을 어딘가에 보관해야 한다면 바로 Object에 보관하면 된다.