티스토리 뷰

Back End/🍀 Spring Boot

Long VS long

James Wetzel 2025. 3. 7. 20:56

매개변수 타입으로 primitive인 long과 참조형인 Long을 선택할 때 고려해야 할 기준은 다음과 같습니다:

  1. null 허용 여부
    • long: null 값을 가질 수 없으며, 기본값이 0입니다.
      → 매개변수가 반드시 값이 있어야 하거나, null 상태를 허용하지 않는 경우 사용합니다.
    • Long: null 값을 허용할 수 있습니다.
      → 값이 없음을 명시적으로 표현해야 하거나, 데이터베이스 엔티티의 ID 등 초기에는 null인 상태를 허용해야 하는 경우 사용합니다.
  2. 자동 박싱/언박싱
    • primitive인 long은 연산에서 성능상 유리하지만, Long과의 비교나 컬렉션(Generics)에서는 자동 박싱/언박싱이 일어나므로 주의해야 합니다.
  3. 프레임워크 및 라이브러리 요구사항
    • JPA 등 ORM에서는 기본 키를 Long (또는 다른 래퍼 타입)으로 선언하는 경우가 많습니다. (DB에서 값이 자동 생성되기 때문)
    • 메서드 매개변수로 null을 전달할 가능성이 있는 경우, Long을 사용하는 것이 더 안전합니다.

결론적으로, 매개변수로 전달될 값이 항상 존재해야 하고 null 상태를 고려하지 않아도 된다면 primitive인 long을 사용할 수 있고, 그렇지 않고 null 값을 고려해야 한다면 Long을 사용하는 것이 좋습니다.

728x90
반응형