개발입문/JAVA
Wrapper Class 래퍼클래스
haloaround
2017. 9. 12. 00:31
1. Error 발견
Solution.java:18: error: int cannot be dereferenced
int n = in .nextInt();
String s = n.toString();
- reference: 참조, 포인터 자체
- dereference: 포인터가 가리키는 값 (Value)
int 는 값 자체이기 때문에 포인터라는 개념이 없어서
포인터 연산 할 수 없다 cannot be dereferenced 에러를 뱉어내고 있다.
2. Primitive DataType 과 Object
int 는 primitive DataType
Integer 는 Object 로, 힙에 인스턴스화할 수 있다.
int ---- Integer
Integer 와 같은 것을 "Wrapper Class" 라고 한다.
int 를 Integer 객체에 넣는 것을 Boxing
Integer 를 int 화 하는 것을 UnBoxing 이라고 한다.
3. .valueOf
객체는 템플릿, 박스같은 존재이다.
int n 을 Integer 박스에도, String 박스에도 넣을 수 있다.
이 때 컴파일러는 N, s 를 각각 Integer, String 으로 인식한다.
객체의 값을 알고 싶을 때는 valeOf(int n) 을 사용한다.
Integer N = Integer.valueOf(n);
String s = String.valueOf(n);
4. equal
public boolean equals(Object obj)
객체 동치 여부를 확인한다.
같은 int 값을 가지고 있는 객체를 같다고 정의한다.