Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

Object 클래스(모든 클래스의 조상), toString() 사용할 수 있는 이유 본문

Java/객체지향

Object 클래스(모든 클래스의 조상), toString() 사용할 수 있는 이유

빌드이너프 2023. 6. 5. 12:02

Object 클래스

부모가 없는 클래스는 자동적으로 Object 클래스를 상속받게 된다

모든 클래스는 Object 클래스에 정의된 11개의 메서드를 상속받는다(toString(), equals(Object obj, hashCode())

부모가 없는 클래스를 컴파일하면 extends Object 라는 것을 컴파일러가 자동으로 추가해준다

상속 계층도

 

toString() 메서드를 사용할 수 있는 이유

Object 클래스를 extends해서 가지고 있기 때문

c.toString()에서 toString()을 안붙이고 참조변수 c만 사용해도 된다(println() 메서드의 기능, 참조변수만 있으면 toString()를 호출함)

class MyPoint extends Object {
    int x;
    int y;
}

class Circle extends Object { // 포함
    MyPoint p = new MyPoint();
    int r;
}


public class InheritanceTest {
    public static void main(String[] args) {
        Circle c = new Circle();
        System.out.println(c.toString()); // Circle@4c203ea1
        System.out.println(c); // Circle@4c203ea1

        Circle c2 = new Circle();
        System.out.println(c2.toString()); // Circle@27f674d
    }
}