My Space

반응형

자바에서 숫자를 다루기 위한 타입에는

원시타입(primitive type), 참조타입(reference type)이 있다.

원시타입 : int, long, boolean 등

참조타입: Integer, Long, Boolean 등

 

현재의 자바는 오토박싱, 언박싱이 잘 되어 있어서, 개발자 입장에서는 원시 타입과 참조 타입을 같이 사용해도 문제는 없다.

하지만, 오토박싱은 메모리 누수의 원인이 될 수 있다.

 

// 오토박싱, 언박싱으로 컴파일 에러가 뜨지 않는다.
int i = Integer.valueOf(1);
Integer integer = i;

 

 

원시타입과 참조타입의 기능적 특징

1. Null 사용 여부

//원시타입은 null을 담을 수 없지만, 참조타입은 가능
int i = null;//불가능
Integer integer = null; //가능

2. 제네릭 타입에서의 사용 여부

//원시타입은 제네릭 타입에 사용 불가능, 참조타입은 사용 가능
List<int> i;//불가능
List<Integer> integer;//가능

※ 정 리

원시타입은 성능과 메모리에 장점이 있기 때문에 원시타입을 우선적으로 고려하고,

Null 값을 담거나, 제네릭 타입에 사용 할 경우 참조타입을 사용한다.

'Development > JAVA' 카테고리의 다른 글

문자열안에 따옴표 인식  (0) 2021.09.16
Json과 Gson  (0) 2021.08.05
addAttribute, addFlashAttribute  (0) 2021.04.20
Lombok 라이브러리  (0) 2021.04.16
정규식 테스트 링크  (0) 2021.04.16

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading