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

Algorithms님의 프로필 이미지
Algorithms

작성한 질문수

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

값 타입과 불변 객체

불변 객체를 만들때

해결된 질문

작성

·

317

0

단순 메소드 레벨에서 불변객체임을 알려주는 것 보다

더 명시적으로 객체를 관리하는 방법이 있을까요?

org.hibernate.annotations.Immutable

로도 명시해주는 것은 어떤가요?

@Immutable 어노테이션은

JPA API 스펙이 아닌 하이버네이트 구현체라

쓰기 망설여진다면 혹시 다른 더 좋은 방법이 있을까요?

답변 2

2

Algorithms님의 프로필 이미지
Algorithms
질문자

감사합니다 도움 많이 되었습니다

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 최현진님^^

JPA를 사용해도 사실상 하이버네이트 구현체를 다른 구현체로 변경할 일이 없기 때문에, 하이버네이트가 제공하는 다양한 기능들을 사용하는 것은 나쁘지 않다고 봅니다.

저는 가급적 자바 컴파일러가 제공하는 순수한 방법으로 문제를 해결하는게 좋다고 생각합니다. 객체 자체를 변경 불가능하게 설계하면, 해당 객체를 사용하는 분들이 변경을 하고 싶어도 못하니까요^^

다른 언어에서는 언어 차원에서 불변 객체를 제공하는데, 자바에서는 더 나은 방법이 있는지 저도 잘 모르겠습니다.

혹시 알게되면 저에게도 꼭 알려주세요^^!

Algorithms님의 프로필 이미지
Algorithms

작성한 질문수

질문하기