1. Object 클래스 - 모든 클래스의 최상위 클래스
1.1. 1. java.lang 패키지안에 들어있음
- 프로그래밍시 import 하지 않아도 자동으로 imort됨
- import.java.lang.*;
- 많이 사용하는 기본 클래스들이 속한 패키지
- String, Integer, System...
1.2. 2. 모든 클래스는 Object 클래스를 상속 받는다
- java.lang.Object 클래스
- 모든 클래스의 최상위 클래스는
- 모든 클래스는 Object에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있음
- 컴파일러가 extends Object를 추가함
- class Student => class Student extends Object
모든 클래스는 Object 클래스를 상속받는다.
그렇기 때문에 모든 클래스는 Object 클래스 안의 메서드들을 사용할 수 있고,
필요에 의해 재정의할 수 있다.
(Final 클래스는 재정의 불가능)
1.3. 3. toString() 메서드
- 객체의 정보를 String으로 바꾸어서 사용할 때 쓰임(참조 변수의 값을 String으로 바꿈)
- String이나 Integer 클래스는 이미 재정의 되어 있음
- toString()메서드 재정의 예

<java />
package ch1;
class Book{
private String title;
private String author;
public Book(String title, String author) {
this.title=title;
this.author=author;
}
@Override
public String toString() { //toString() 오버라이딩해서 재정의하기
return title+","+author;
}
}
public class BookTest{
public static void main(String[] args) {
Book book=new Book("데미안","헤르만 헤세");
System.out.println(book.toString());
String str = new String("test"); //toString()을 이미 오버라이딩해서 쓰고 있음
System.out.println(str); //toString()이 뒤에 제외됨
}
}
원래 객체를 그냥 출력하면,
"패키지.클래스 이름@메모리 위치(JVM이 준 가상 메모리 값)"
로 나왔으나
toString 클래스를 사용하면
객체의 이름만 나오게 된다.
'JAVA' 카테고리의 다른 글
4-3.String, StringBuilder, StringBuffer 클래스, text block (0) | 2022.01.28 |
---|---|
4-2.Object 클래스의 다른 메서드들 활용하기 (0) | 2022.01.26 |
3-15.객체 지향 핵심 - 여러 인터페이스 구현하기, 인터페이스의 상속 (0) | 2022.01.24 |
3-14.객체 지향 핵심 - 인터페이스의 여러가지 요소 (0) | 2022.01.24 |
3-13.객체 지향 핵심 - 인터페이스를 활용한 다형성 구현 (0) | 2022.01.23 |