• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

저장되는 메모리 위치

24.05.01 21:18 작성 조회수 41

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

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

[질문 내용]
임베디드 타입을 만들 때 자바 클래스로 만들고, @Embeddable 애노테이션을 붙여서 DB 테이블의 값 타입으로 매핑하는데 그럼 여타 값 타입과 마찬가지로 스택 영역에 저장되는지, 아니면 클래스로 구현되어 힙 영역에 저장되는지 궁금합니다.

그리고 임베디드 타입 자체를 클래스가 아닌 구조체나 열거형으로 만들 수 없는지도 궁금합니다.

답변 1

답변을 작성해보세요.

2

David님의 프로필

David

2024.05.01

안녕하세요. hongjunehuke님, 공식 서포터즈 David입니다.

임베디드 타입을 만들 때 자바 클래스로 만들고, @Embeddable 애노테이션을 붙여서

이미 알고 계시듯 클래스로 임베디드 타입을 구현하고 있습니다. 따라서, 해당 타입을 생성하게 되는 순간 힙에 인스턴스가 생깁니다.

자바는 기본적으로 클래스를 단위로 데이터와 행위를 표현합니다. C언어에서 다뤄지는 구조체를 표현할 때 자바에서는 클래스를 사용하므로 참고해 주세요.

감사합니다.