인프런 커뮤니티 질문&답변

뒤끝없는벡엔드님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

회원 도메인 실행과 테스트

1L이 무슨 뜻인지 확실하게 모르겠습니다

24.08.28 10:17 작성

·

88

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
구글링으로 알아본 1L 의 의미는 long 자료형이라는 뜻도 있고

자바의 직렬화를 쓸 때 쓰인다고 하는데 이건 잘 이해가 안되네요.. 1L를 왜쓰는지 모르겠어요

답변 3

0

OMG님의 프로필 이미지

2024. 08. 28. 11:24

안녕하세요. 뒤끝없는벡엔드님, 공식 서포터즈 OMG입니다.

1L은 자바의 long타입을 나타내는게 맞습니다.

회원 객체의 식별자(회원번호 개념)로 사용하기 위한 값이며, integer 타입인 1로 해도 무방하지만, 강의에서는 long타입으로 식별자 타입을 지정하였다고 이해하시면 됩니다.

감사합니다.

0

뒤끝없는벡엔드님의 프로필 이미지

2024. 08. 28. 10:25

Member findMember = memberService.findMember(1L);

Member member = new Member(1L, "memberA", Grade.VIP); 이 두 줄의 코드에서의 1L은 설명대로 long 타입의 인자가 들어온다는 것을 명시한다는 것으로 이해해도될까요?

0

인프런 AI 인턴님의 프로필 이미지

2024. 08. 28. 10:21

안녕하세요, 인프런 AI 인턴입니다.

뒤끝없는벡엔드님의 질문에 대해, "1L"의 의미에 대해서 설명 드리겠습니다. 1L은 실제로 long 자료형을 명시할 때 사용하는 리터럴입니다. 자바에서는 정수 리터럴이 기본적으로 int 타입으로 처리되는데, L 또는 l을 붙여서 해당 리터럴이 long 타입임을 명시합니다. 대문자 L을 사용하는 것이 소문자 l과 숫자 1을 구분하기 쉬워서 더 권장되는 형식입니다.

관련하여, 직렬화와의 연관성은 serialVersionUID를 설정할 때 static final long serialVersionUID = 1L;와 같은 형태로 long 값을 지정하는 것을 언급한 것일 수 있습니다. 여기서 1L은 해당 클래스의 버전을 명시적으로 지정하는 것으로, 클래스의 호환성을 유지하기 위해 사용됩니다.

이과 관련된 질문에 답변한 유사 게시물 하나를 소개해드립니다:

  • memberId: 이 게시물에서는 "Long memberId = 1L;" 과 같은 코드 사용의 의미를 묻는 질문에 대해, 1Llong 타입임을 명시하는 것이라는 답변이 제공되었습니다.

또한, “1L”long 타입의 리터럴로 사용됨을 명확히하는 콘텍스트에서, 자바에서 이런 형태의 리터럴 사용의 목적은 주로 타입의 안정성을 보장하고, int 값의 범위를 초과하는 큰 값을 할당할 때 오류를 방지하기 위함입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.