클래스 Object와 Wrapper 클래스
Object class
- 클래스 Object는 Java에서 모든 클래스의 superclass
- Java의 모든 클래스는 이미 equals와 toString 메서드 등을 가지고 있음
- class Object의 member method
- equlas, toString, getClass, hashCode()
- toString method는 사용자가 원하는 결과를 출력하도록 Override를 해주어야 함
- Object 클래스의 equals 메서드의 매개변수는 Object 타입
- 매개변수로 제공된 객체와 자기 자신의 동일성을 검사
- 따라서 원하는 값의 비교를 해주기 위해서는 역시 Override 해주어야 함
Wrapper class
- Java에서 primitive type 데이터와 non-primitive type 데이터(객체)는 근본적으로 다르게 처리됨
- 때로 primitive type 데이터를 객체로 만들어야 할 경우가 있음
- 이럴 때, Integer, Double, Character 등의 Wrapper class를 이용
int a = 20;
Integer age = new Integer(a);
int b = age.intValue(); // b becomes 20
// 데이터 간 형변환
String str = "1234";
int d = Integer.parseInt(str); // d becomes 1234
Object[] theArray = new Object[100];
theArray[0] = 10; // 컴파일러가 자동으로 10을 Integer 객체로 변환해줌(autoboxing)
int a = (Integer)theArray[0]; // theArray[0]에 저장된 걱은 Integer 객체이지만 컴파일러가 자동으로 정수로 변환(unboxing)