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

hongjunehuke님의 프로필 이미지
hongjunehuke

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

값 타입과 불변 객체

저장되는 메모리 위치

해결된 질문

작성

·

110

0

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

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

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

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

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

답변 1

2

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

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

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

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

감사합니다.

hongjunehuke님의 프로필 이미지
hongjunehuke

작성한 질문수

질문하기