๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿงธ ์™œ ๊ทธ๋Ÿฐ๊ฑธ๊นŒโ”

2. return

by ._.sori 2025. 7. 1.

 

๐Ÿชฝ

"ํ‹€๋ฆฐ ๋‚ด์šฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊น€์˜ํ•œ ์„ ์ƒ๋‹˜์˜ Spring MVC 1์„ ์œ„์ฃผ๋กœ ๊ณต๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค."

 

 

 

โ–ถ MemberRepositoyTest.class (๋ณ€๊ฒฝ๋œ ์ฝ”๋“œ)

Member member1 = new Member("hello", 20);
Member member2 = new Member("spring", 10);

Member savedMember1 = memberRepository.save(member1);
Member savedMember2 = memberRepository.save(member2);
member1์€ hello๋ผ๋Š” username๊ณผ 20์ด๋ผ๋Š” age๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ๋ฅผ member1๋กœ ํฌ์žฅํ–ˆ๋Š”๋ฐ save๋กœ ๋„˜์–ด๊ฐ€๋ฉด member1์€ member๋ผ๋Š” ํฌ์žฅ์ง€๋กœ ๋ฐ”๋€๋‹ค. 

 

 

 

โ–ถ MemberRepositoy.class

public Member save(Member member) {
        member.setId(++sequence);
        store.put(member.getId(), member);
        return member;
    }
save(Member member) ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค. ์ด ์ฝ”๋“œ๊ฐ€ member๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ธ์ž๋ฅผ ๋ฐ›๊ฒ ๋‹ค๋ผ๋Š” ๊ฒƒ์ด๋‹ค. member1์€ save์—์„œ ์ฒ˜๋ฆฌ๋˜๋Š” ๋™์•ˆ member๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง„๋‹ค. 

setId(++sequence)๋Š” sequence๊ฐ’์„ ํ•˜๋‚˜ ์ฆ๊ฐ€์‹œํ‚จ ํ›„ id์— ๊ฐ’์„ ๋„ฃ๋Š”๋‹ค. ์—ฌ๊ธฐ์„œ member.์ด ๋ถ™๋Š” ์ด์œ ๋Š” ์–ด๋А ๊ฐ์ฒด์˜ id์ธ์ง€๋ฅผ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•จ์ด๋‹ค. 

 

 

Q. return member๊ฐ€ ๋ฌด์Šจ ๋ง์ผ๊นŒ?

A. ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค์—์„œ member1์„ ์ €์žฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. ์ด๋•Œ member1์€ id ๊ฐ’์ด ์—†๋Š” ์ƒํƒœ์ด๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ง€๋‹Œ member1์ด  save ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด id๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๊ทธ id ๊ฐ’์„ ๋‹ค์‹œ ํ˜ธ์ถœ๋˜์—ˆ๋˜ ๊ณณ์— ๋Œ๋ ค์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. 

 

 

 

Q. return member๋ฅผ ํ•˜๋Š” ์ด์œ ๊ฐ€ ๋ญ˜๊นŒ?

A. ์‹ค์ œ ์ €์žฅ๋œ id ๊ฐ’์„ ๋ฐ”๋กœ ํ™•์ธํ•˜๊ฑฐ๋‚˜, id ๊ฐ’์„ ๋ฐ›์€ ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฅธ ๊ณณ์— ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜, ํ™”๋ฉด์— ๋ณด์—ฌ์ฃผ๊ฑฐ๋‚˜, ์ถ”๊ฐ€ ์ž‘์—…์— ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ํŽธ์˜์„ฑ์„ ์œ„ํ•ด ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ํ•œ๋‹ค

์˜ˆ๋กœ ์ƒํ’ˆ์„ ์ฃผ๋ฌธํ•˜๋ฉด ์ฃผ๋ฌธ ๋ฒˆํ˜ธ๊ฐ€ ๋ฐœ๊ธ‰๋˜๋Š”๋ฐ, ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ๊ฐ™๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ์ฃผ๋ฌธ์ด ๋“ค์–ด์˜ค๋ฉด ์ฒ˜๋ฆฌ ๊ณผ์ •์—์„œ ์ฃผ๋ฌธ์„ ์ €์žฅํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฃผ๋ฌธ์— ๋Œ€ํ•œ ๊ณ ์œ  ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•œ ํ›„, ์‚ฌ์šฉ์ž ํ™”๋ฉด์— ์ฃผ๋ฌธ ๋ฒˆํ˜ธ๊ฐ€ ๋ณด์ด๋„๋ก ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ด๋•Œ ์ฃผ๋ฌธ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ธ ๊ฐ์ฒด๋ฅผ returnํ•˜๋ฉด ๋ณ„๋„์˜ ์ถ”๊ฐ€์ฝ”๋“œ ์—†์ด ํ•ด๋‹น ๊ฐ์ฒด์˜ ๋ฒˆํ˜ธ๋ฅผ ํ™”๋ฉด์— ๋ณด์ด๋„๋ก ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

 

 

โ–ถ MemberRepositoyTest.class (๋ณ€๊ฒฝ๋œ ์ฝ”๋“œ)

Member findMember = memberRepository.findById(savedMember1.getId());
assertThat(findMember).isEqualTo(savedMember1);
return์œผ๋กœ id๊ฐ€ ๋ถ€์—ฌ๋œ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ–ˆ๋‹ค. ๋ฐ˜ํ™˜๊ฐ’์ด savedMember1์— ์ €์žฅ์ด ๋˜๊ณ  id๋ฅผ ๋ถ€์—ฌ๋ฐ›์•˜์œผ๋‹ˆ getId( )๋กœ id๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด findById์— id๋ฅผ ๋“ค๊ณ ๊ฐ€์„œ ์ด id์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ฌ๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ ๋‚˜์˜จ ๋ฐ์ดํ„ฐ๋ฅผ findMember์— ๋„ฃ์€ ํ›„ ๋‚ด๊ฐ€ ์ง€๊ธˆ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” savedMember1๊ณผ id๋ฅผ ๋“ค๊ณ ๊ฐ€์„œ ๋ฐ›์•„์˜จ findMember๊ฐ€ ๊ฐ™์€์ง€ ๋ฌป๋Š”๋‹ค.

๋งŒ์•ฝ retrun member๋ฅผ ์•ˆํ–ˆ๋‹ค๋ฉด, MemberRepository์— ์žˆ๋Š” Member savedMember1 = memberRepository.save(member1);์˜ savedMember1์€ ๋Œ๋ ค๋ฐ›์€ ๊ฐ’์ด ์—†์œผ๋‹ˆ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธฐ๊ณ  ๋‹น์—ฐํžˆ ๊ฐ’์„ ๋น„๊ตํ•˜์ง€๋„ ๋ชปํ•œ๋‹ค.

 

'๐Ÿงธ ์™œ ๊ทธ๋Ÿฐ๊ฑธ๊นŒโ”' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

1. ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„์ฒด  (5) 2024.09.26