출처 - http://growinglastcanyon.tistory.com/6
[Java] int와 Integer의 차이(+ Wrapper Class란?)
자바에는 Integer.valueOf(String);
혹은Integer.parseInt(String); 처럼 Integer라는 것이 존재합니다.
보통 C 계열 언어를 사용하시던 분들이 자바를 처음 접하게 되면 당황하기 마련인데요.
int 와 Integer는 비슷한 말이지만 어떤 차이가 있는지 알아보도록 하겠습니다.
1. int (Primitive 자료형)
이러한 점 때문에 자바는 C/C++과 조금의 차이를 보입니다.
* Wrapper 클래스란?
Java는 데이터를 클래스와 객체 외에 기초 타입을 가집니다. 그렇기 때문에 Java는 기본형 타입(위에서 말한 primitive 자료형)과 객체 참조(클래스) 같은 두 가지 타입의 관리 데이터를 가집니다. 경우에 따라서 기본형 타입을 객체로 사용하는 경우가 있으며, 이러현 강우 기본형 타입 값을 객체로 표현해야합니다.
이때 Wrapper 클래스를 사용하는데, 특정 기본형 타입으로 나타냅니다. 예를 들어 Integer 클래스는 간단한 정수 값을 나타내며 객체는 하나의 int값을 저장할 수 있습니다.
ex)
Integer a = new Integer(10);
Double b = new Double("4.57");
이는 기본형 타입이 아닌 객체가 필요한 곳에서 적재적소에 사용할 수 있습니다.
cf) Java Class Library의 Wrapper Class
이러한 두 가지 기본형 타입과 Wrapper class 사이의 관계에서 Boxing과 UnBoxing을 설명할 수 있습니다.
해당 타입(?)에 맞게 기본형 타입을 객체에 넣는 것을 Boxing, 반대로 Unboxing한다고 하는데 정리하자면 이렇습니다.
Primitive Type -> Wrapper class : Boxing
ex) Integer a = new Integer(10);
Wrapper class -> Primitive Type : Unboxing
ex) int b = a.intValue();
참고 문헌 : http://hyeonstorage.tistory.com/168
http://includestdio.tistory.com/1
자바의 정석, 3판 (저자 : 남궁성)
'IT > 자바' 카테고리의 다른 글
배열 (0) | 2018.04.30 |
---|---|
Wrapper 클래스 (0) | 2018.04.30 |
Integer (0) | 2018.04.30 |
이클립스에서 자바 버전 바꾸기 (0) | 2018.04.30 |
StringTokenizer, split, (0) | 2018.04.30 |