java.lang 패키지
- 프로그래밍시 import 하지 않아도 자동으로 import됨
- import java.lang.; 문장이 추가 됨
- 많이 사용하는 기본 클래스들이 속한 패키지
- String, Integer, System 등
Object 클래스
- 자바 모든 클래스의 최상위 클래스
- 모든 클래스는 Object 클래스의 메서드를 사용할 수 있음
- 모든 클래스는 Object 클래스의 메서드 중 일부는 재정의 할 수 있음(final로 선언된 메서드는 불가)
toString()
getClass().getName() + '@' + Integer.toHexString(hashCode())
- 객체의 정보를 String으로 바꿔서 사용할 때 사용
- String이나 Integer 클래스에는 이미 재정의 되어 있음
- String은 문자열 변환
equals()
- == 연산자는 비교하고자 하는 두개의 대상의 주소값을 비교하는데, String클래스의 equals 메소드는 비교하고자 하는 두개의 대상의 값 자체를 비교
- 원래 equals()의 경우 Object 클래스의 메서드이고 이는 == 연산자와 동일하게 주소값을 비교를 수행하는 메서드이다. 흔히 우리가 문자열 비교를 위해 사용하는 equals()의 경우 String 클래스에서 오버라이딩을 함으로써 문자열 간의 비교가 가능해졌다.
- 같은 메모리 상에 존재해야함
- 재정의 하여 두 인스턴스가 논리적으로 동일함의 여부를 반환
- 논리적인 동일성을 볼 때 사용
package classTest;
public class EqualsTest {
public static void main(String[] args) {
String str1 = new String("test");
String str2 = new String("test");
System.out.println(str1 == str2);
System.out.println(str1.equals(str2));
}
}