(Java)Long/long 과 int/Integer. 닮은듯 안닮은 친구들.

전성영·2022년 6월 7일
0

API 구현 중 Long과 long의 차이를 알고 싶어서 정리한다.
생각보다 간단?? 한 거 같아서 꼭 알고 넘어가자!!

Long 과 long

  • Wrapper Class인 Long은 null을 사용할 수 있고,
  • primitive type(기본형) 타입인 long은 null을 사용할 수 없다.

ID가 PK인 친구들의 타입은 Long을 자주 써줬었다.
이유는 long을 사용하면 기본값 - 0 인지, id값이 0 인건지 구분하기 어려워서 라고 한다.

BUT!! 크기는 두 친구 다 8byte 이다.


Integer와 int

마찬가지로 Integer와 int또한 null이랑 관계가 있다.

  • Wrapper Class인 Integer는 null을 사용할 수 있고,
  • primitive type(기본형) 타입인 int는 null을 사용할 수 없다.

Integer와 int는 크기도 다르다.

integer - 19986824 byte / 20byte
int - 3998536 byte / 4byte
약 5배 차이


자 여기서 하나가 더 궁금해졌다. wrapper class가 도대체 뭐길래??

래퍼 클래스(Wrapper class)

기본 타입의 데이터들을 객체로 다루기 위해 사용하는 클래스들이다.

자바에서 제공하는 래퍼 클래스들이다.

추가로 primitive -> wrapper class 는 박싱(Boxing)
wrapper class -> primitive 는 언박싱(UnBoxing)이라고 한다.

사소하지만 이렇게 하나하나 정리를 해가면 재미도 있고 기분도 좋아진다.
뾰오오옹

profile
Slow and Steady

0개의 댓글