Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- stopPropogation
- SpringRESTDocs
- JavaScript
- REACT
- openapi3
- SpringBoot
- Filter
- Crawling
- 리액트
- vuejs
- gradle
- SWAGGER
- tasklet
- Pender
- AuthenticatoinProvide
- cloud native
- Reduxpender
- Spring REST Docs
- Spring Security
- OpenStack
- MSA
- Spring Batch
- axios
- preventdefault
- T-OTP
- cheerio
- UsernamePasswordAuthenticationFilter
- Flyway
- vue
- MFA
Archives
- Today
- Total
Miracle Morning, LHWN
9. int 와 Integer 의 차이 본문
차이에 앞서 Wrapper 클래스에 대해 알아본다.
Wrapper Class
Java 는 데이터를 클래스와 객체 외에 기초 타입을 가진다. 따라서 Java 는 (1) 기본형 타입(Primitive 자료형) 과 (2) 객체 참조(클래스) 로 두 가지 타입의 관리 데이터를 가진다.
경우에 따라 기본형 타입을 객↔체로 사용하는 경우가 있으며, 이러한 경우 기본형 타입 값을 객체로 표현해야 한다. 이때 Wrapper 클래스를 사용하는데, 특정 기본형 타입으로 나타낸다. 가령, Integer 클래스는 간단한 정수 값을 나타내며 객체는 하나의 int 값을 저장할 수 있다.
Integer a = new Integer(10);
Double b = new Double("4.57");
int
- Primitive 자료형으로 int, float, long, double 등과 같은 하나의 primitive 자료형이다.
- 산술 연산이 가능하다.
- null 로 초기화가 불가하다. (0으로 초기화 가능하다.)
Integer
- Wrapper 클래스이다.
- Unboxing 을 하지 않으면 산술 연산이 불가능하지만, null 값은 처리할 수 있다.
- null 값 처리가 용이해서 SQL 과 연동할 경우 처리가 용이하다.
- DB 에서 자료형이 정수형이지만 null 값이 필요한 경우 VO 에서 Integer 를 사용할 수 있다.
int ↔ Integer 간의 변환
int 와 Integer 간의 변환을 Boxing 과 Unboxing 이라고 한다.
- Boxing : Primitive 자료형 → Wrapper 클래스
- Unboxing : Wrapper 클래스 → Primitive 자료형
// Integer (ig) 를 int (i) 로 변환
int i = ig.intValue();
// int (i) 를 Integer (ig) 로 변환
Integer ig = new Integer(i);
valueOf() 와 parseInt() 의 차이
Integer.valueOf(String) : Integer 클래스를 리턴하기 때문에 산술 연산이 불가능하다.
Integer.parseInt(String) : int 형을 리턴하기 때문에 산술 연산이 가능하다.
# Auto boxing 과 unboxing
Java 에서 대부분의 경우에는 자동으로 boxing 과 unboxing 을 해준다.
int i = 1;
Integer integer = i; // int > Integer 로 Auto boxing
int i2 = integer; // Integer > int 로 Auto unboxing
'IT 기술 > [JAVA] Spring Boot' 카테고리의 다른 글
8-3. 프로젝트에서 JPA 직접 사용해보기 (0) | 2021.05.11 |
---|---|
8-2. 프로젝트에서 JPA 직접 사용해보기 (0) | 2021.05.11 |
8-1. 프로젝트에서 JPA 직접 사용해보기 (0) | 2021.05.08 |
7. 트랜잭션 (0) | 2021.05.07 |
6. Spring Data JPA (0) | 2021.05.06 |
Comments