컴퓨터공학 💻 도서관📚
Part2. 4-1 Object 클래스 - 모든 클래스의 최상위 클래스 본문
java.lang 패키지 (language)
* 프로그래밍시 import 하지 않아도 자동으로 import 됨
* import.java.lang. *;
* 많이 사용하는 기본 클래스들이 속한 패키지
* String, Integer, System...
모든 클래스는 Object 클래스를 상속 받는다 (헉 드디어 밝혀지는 세계의 비밀...!)
* java.lang.Object 클래스
* 모든 클래스의 최상위 클래스
* 모든 클래스는 Object 에서 상속받고, Object 클래스의 매서드 중 일부는 재정의해서 사용할 수 있음 (final 로 선언)
* class Student == class Student extends Object
toString() 메서드
* 객체의 정보를 String 으로 바꾸어서 출력하고 싶을 때 재정의해서 사용한다.
* String 이나 Integer 클래스는 이미 재정의 되어 있다
toString() 메서드 없이 출력하면 ch01.Book @ 36aa7bc2 이렇게 출력된다
(클래스의 구조) (메모리의 위치, 인스턴스 메모리 위치에 대한 가상 메모리 값 , 16진수)
(JVM이 준 값이지 실제 메모리 값은 아니다, 가상적으로 이 위치라고 하는 거임)
그런데 String 인스턴스는 출력하면 다르게 출력된다. 문자열 값이 나온다. 왜?
String의 toString 메서드가 오버라이딩 되어 있기 때문이다.
그래서 내가 만든 Book 클래스도 저렇게 출력하고 싶으면 toString 메서드를 재정의하면 된다.
class Book{
private String title;
private String author;
public Book(String title, String author) {
this.title = title;
this.author = author;
}
@Override // toString 메서드 재정의
public String toString() {
return title + "," + author;
}
}
public class BookTest {
public static void main(String[] args) {
Book book = new Book("데미안", "헤르만 헤세");
System.out.println(book);
}
}
'✅🌲강의 복습 노트 > 패캠 JavaSpring 강의,코드 복습' 카테고리의 다른 글
Part2. 4-3 String, StringBuilder, StringBuffer 클래스, text block (0) | 2025.06.19 |
---|---|
Part2. 4-2 Object 클래스의 메서드 활용 (0) | 2025.06.17 |
Part2. 3-16 객체 코딩으로 복습하기 2 (0) | 2025.06.16 |
Part2. 3-16 객체 코딩으로 복습하기 1 (0) | 2025.06.16 |
Part2. 3-15 여러 인터페이스 구현하기, 인터페이스의 상속 (1) | 2025.06.13 |