java.lang 패키지
java.lang 패키지는 Java 프로그래밍에서 필수적인 가장 기본적인 클래스들을 포함하고 있으며, 모든 Java 프로그램에서 별도의 import 없이 사용할 수 있다.
String 클래스는 java.lang 패키지에 속한 클래스로, 별도의 import 문 없이도 사용할 수 있다.
- 컴파일러는 컴파일 시간에
import java.lang.*을 자동으로 삽입한다.
Object 클래스
- Object
Object 클래스는 모든 클래스의 최상위 클래스로, 모든 클래스는 Object 클래스를 상속받는다.
- 명시적으로
extends Object를 작성하지 않아도 자동으로 상속되며, Object 클래스가 제공하는 메서드를 사용할 수 있다. 이를 통해 클래스의 기능을 확장하고 커스터마이징할 수 있다.
public class A extends Object {
public A() {
super();
}
}
Object obj = new A();
toString()
getClass().getName() + '@' + Integer.toHexString(hashCode())
Object 클래스의 toString 메서드는 클래스 이름, 기호 문자 '@' 및 객체 해시 코드의 부호가 없는 16진수 표현으로 구성된 문자열을 반환한다. (예: com.example.objects.Car@7a79be86)
public class Car {
public int carSn;
public String carName;
public int carPrice;
public String carOwner;
public int carYear;
public String carType;
@Override
public String toString() {
return "CarDTO{" +
"carSn=" + carSn +
", carName='" + carName + '\'' +
", carPrice=" + carPrice +
", carOwner='" + carOwner + '\'' +
", carYear=" + carYear +
", carType='" + carType + '\'' +
'}';
}
}
Object를 상속받는 클래스들은 toString 메서드를 재정의하여 객체를 "텍스트로 나타내는" 문자열을 반환하도록 한다.