클래스 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
  • Autoboxing과 Unboxing
Object[] theArray = new Object[100];
theArray[0] = 10; // 컴파일러가 자동으로 10을 Integer 객체로 변환해줌(autoboxing)
int a = (Integer)theArray[0]; // theArray[0]에 저장된 걱은 Integer 객체이지만 컴파일러가 자동으로 정수로 변환(unboxing)


'Software Convergence > Java' 카테고리의 다른 글

다형성: Polymorphism  (0) 2018.11.05
static과 접근제한자  (0) 2018.10.19
상속의 단점과 Strategy Pattern  (0) 2018.09.03
Generic 자료형 실습  (0) 2018.07.12
instanceof / encapsulation  (0) 2018.07.04

+ Recent posts