Health-Genie

[타입 고민] 엔티티에 정수 타입으로 Int VS Integer

j9972 2023. 12. 8. 14:33
728x90

문뜩, 개발을 하는데 엔티티에 정수 타입으로 Int를 써야할지 Integer를 써야할지 고민이 들었다.

그래서 각각을 비교하고 언제 사용하면 좋을 지 정리해 보겠다

 

일단 int와 Integer 모두 정수 값을 나타내는 자료형인데,  두 자료형 간에는 몇 가지 차이점이 있다.

 

Int vs Integer

  • int: 기본 자료형이여서, 값이 없는 경우 null이 아닌 0으로 초기화를 하며 오버헤드가 작아서 메모리 사용 측면에서 효율적이다. [ null 표현 불가능 ]
  • Integer: int의 래퍼 클래스(wrapper class)로, null을 허용하는 참조 타입인데, 컬렉션 프레임워크에서 제공하는 메서드들이 객체를 요구하기에 유용하다 [ null 표현 가능 ]

 

언제 어떤 것을 사용해야 할까요?

  1. Null이 필요한 경우에는 Integer
  2. 컬렉션 프레임워크 사용 시에는 객체만을 저장할 수 있기에 null을 포함시킬 수 있는 Interger
  3. 성능을 높이고 메모리 사용량이 적게 필요할 때는 기본 자료형인 int