프로그래밍언어/Java
[Java 중급] Object 클래스
배세
2024. 7. 30. 15:56
Object 클래스
자바에서 모든 클래스의 최상위 부모 클래스는 Object 클래스이다.
예제
Parent.java
// 부모가 없으면 묵시적으로 Obejct 클래스를 상속 받는다.
public class Parent{
public void parentMethod() {
System.out.println("Parent.parentMethod");
}
}
=> 이 코드는 사실 public class Parent extends Object 와 같다. 최상위 부모는 항상 Object이기 때문이다.
Child.java
public class Child extends Parent{
public void ChildMethod() {
System.out.println("Child.childMethod");
}
}
=> 명시적으로 상속을 받으면 Object를 상속 받지 않는다.
ObjectMain.java
public class ObjectMain {
public static void main(String[] args) {
Child child = new Child();
child.ChildMethod();
child.parentMethod();
// toString() 은 Object 클래스의 메서드
String string = child.toString();
}
}
=> child 인스턴스를 생성해보자. toString() 메서드를 호출할 수 있다. toString은 Object 클래스의 메서드이기 때문이다.
자바에서 모든 객체의 최종 부모는 Object 이다.
자바에서 Object 클래스가 최상위 부모 클래스인 이유
1. 공통 기능 제공
객체의 정보 제공, 객체 비교, 객체의 클래스 확인 등의 기능은 모든 객체에게 필요한 기본 기능이다. 이런 기능을 객체를 만들 때마다 메서드를 정의해서 만들어야 한다면 상당히 번거로울 것이다.
2. 다형성의 기본 구현
부모는 자식을 담을 수 있다. Object는 모든 클래스의 부모 클래스이다. 따라서 모든 객체를 참조할 수 있다.
모든 자바 객체는 Object 타입으로 처리될 수 있으며, 이는 다양한 타입의 객체를 통합적으로 처리할 수 있게 해준다.
* 인프런 '김영한의 실전 자바 - 중급 1편'을 참고하여 작성하였습니다.