작성
·
27
0
itemRepository
클래스에서 save()
함수 반환 타입을 item
으로 만들었는데 테스트 코드에서
itemRepository.save(item1)
itemRepository.save(item2)
에서 에러가 왜 안나오는 건가요?
Item saveItem1 = itemRepository.save(item1);
이라고 해야 되는거 아닌가요 ?
GPT한테 물어봐도save()
메서드가 원본 인스턴스를 그대로 변형 후 반환하도록 구현돼 있기 때문에, 반환값을 무시해도 되는 것입니다
이라고 하는데 인스턴스를 반환하도록 구현했으면 반환값이 있어야 오류가 안 생긴다고 생각하는데 왜 무시해도 된다는지 잘 모르겠습니다..
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. Imking님.
질문해주신 내용에 대해 설명드리겠습니다.
itemRepository.save(item)
와 같은 메서드는 반환값을 제공하지만, 그렇다고 해서 항상 그 반환값을 변수에 저장해야만 하는 것은 아닙니다. 자바에서 반환값을 가진 메서드를 호출할 때, 그 반환값을 사용하지 않더라도 문법적으로 오류가 발생하지 않습니다. 이는 많은 프로그래밍 언어에서 지원하는 일반적인 관행입니다.
itemRepository.save(item)
메서드는 내부적으로 아이템을 저장하고, 저장된 객체를 반환하는 역할을 합니다. 그러나 메서드의 반환값을 반드시 사용해야 할 필요는 없습니다. 객체의 상태를 업데이트하거나 저장하는 작업을 단순히 수행하려는 경우, 반환값을 무시해도 됩니다. 단, 반환값을 무시하면 이후에 저장된 객체의 상태를 확인하거나 수정사항을 가져올 수 없으므로, 이 경우엔 반환값을 잘 활용하는 것이 좋습니다.
비슷한 질문이 아래 링크에 잘 설명되어 있으니 참고하시면 도움이 될 것 같습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.