java.lang 패키지
- String, Integer, System ... 등의 기본 클래스가 포함된다.
- import java.lang.* 해주지 않아도 자동으로 import 되는 패키지
Object 클래스
- java.lang.Object 클래스
- 모든 클래스의 최상위 클래스이다 ( = 모든 클래스는 Object 클래스를 상속받는다.)
- 모든 클래스는 Object에 정의된 메서드를 사용할 수 있고 일부는 필요에 의해 재정의 할 수 있다.
- 재정의 할 수 없는 메서드는 final로 선언되어 있다.
- 컴파일러가 자동으로 extends Object를 추가해준다.
toString 메서드
- 객체의 정보를 String으로 바꾸어 사용할 때 쓰인다.
- 예시) 참조 변수를 String으로 바꾸어 참조 값(e.g. ch03.Student@2f92e0f4)을 표현할 때 이용되는 메서드이다.
- String 또는 Integer 클래스는 재정의 되어 있다.
예제 코드
Object 클래스의 메서드를 직접 재정의해서 써보기
BookTest.java
package ch01;
class Book {
private String title;
private String author;
public Book(String title, String author) {
this.title = title;
this.author = author;
}
}
public class BookTest {
public static void main(String[] args) {
Book book = new Book("데미안", "헤르만 헤세");
System.out.println(book); // 가상 메모리 값 출력
String str = new String("test");
System.out.println(str); // 문자열 출력 (오버라이딩 됨)
}
}
수행 결과
같은 인스턴스이지만 String 클래스는 이미 재정의 되어 있으므로 문자열을 출력한다.
ch01.Book@2f92e0f4
test
Book 클래스에 toString 오버라이딩 코드 추가
@Override
public String toString() { // 직접 toString 오버라이딩
return title + "," + author;
}
수행 결과
데미안,헤르만 헤세
test
'Java & Kotlin' 카테고리의 다른 글
[Java 클래스] Object 클래스의 메서드 활용 (0) | 2022.02.03 |
---|---|
[Java 객체지향] 인터페이스 구현 예제 프로그램 (상담원 연결 구현) (0) | 2022.02.02 |
[Java 객체지향] 추상 클래스와 템플릿 메서드 활용 예제 프로그램 (GameLevel 구현) (0) | 2022.02.02 |