ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ค์ฌ์ผ๋ก ์ปค๋ฆฌ์ด๋ฅผ ์ด์ด์ค๋ค๊ฐ, ํ์คํ ์ญ๋์ด ์ ์ ์ค์ํด์ง๋ ํ๋ฆ์ ๋๋ผ๋ฉฐ ๋ฐฑ์๋๊น์ง ์์ญ์ ๋ํ๋ณด๊ธฐ๋ก ํ๋ค.
์ธํ๋ฐ ๊ฐ์๋ฅผ ํตํด ์ค๋๋ง์ ์๋ฐ์ ๋ฐฑ์๋๋ฅผ ๋ค์ ์ ํ๊ฒ ๋์๊ณ , ํ์ต๊ณผ์ ์์ ์๊ธด ๊ถ๊ธ์ฆ๋ค์ ์ฌ์ํ ๊ฒ๊น์ง ํ๋์ฉ ์ ๋ฆฌํด๋ณด์!
Hello, World ...
java๋ฅผ ๋ณธ๊ฒฉ์ ์ผ๋ก ๋ค๋ค๋ณธ๊ฑด.. ํ๋ถ์์์ . ํ๋ก ํธ๋ก ์ด์๊ฐ๋ฉด์ ๋ค์ ๋ง๋๊ฒ ๋ ์ค ์์์๊น!
์คํ๋ง ์
๋ฌธ ๊ฐ์๋ฅผ ํตํด Member, Repository, Service ๊ตฌ์กฐ์ ํ
์คํธ ์ฝ๋๋ฅผ ํ์ตํ๋ ๊ณผ์ ์์
๋ค์๊ณผ ๊ฐ์ ๊ฐ๋
๋ค์ด ๋ช
ํํ ์ดํด๋์ง ์์๋ค.
ํนํ ํ๋ก ํธ์๋ ๊ฒฝํ์ ๊ธฐ์ค์ผ๋ก ๋น๊ตํ์ ๋,
์๋ฐ์ ๊ฐ์ฒด์งํฅ ๊ตฌ์กฐ์ ํ
์คํธ ๋ฐฉ์์ด ๋ฏ์ค๊ฒ ๋๊ปด์ก๋ค.
๊ธฐ์กด ํ๋ก ํธ์๋ ๊ด์ ์์ ๊ฐ๋ ์ ์ดํดํ๋ ค๊ณ ์๋ํ๋ค.
๋ฐ๋ฉด ์๋ฐ๋
์ด ์ฐจ์ด๋ก ์ธํด ๋์ผํ ๊ฐ๋ ์ด๋ผ๋ ์ดํด๊ฐ ์ด๋ ค์ ๋ค.
์๋ฐ์์ import๋ ํด๋์ค๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ผ ๋ฟ์ด๋ฉฐ,
์ค์ ๋ก ์ฌ์ฉํ๊ธฐ ์ํด์๋ new๋ฅผ ํตํด ๊ฐ์ฒด๋ฅผ ์์ฑํด์ผ ํ๋ค.
์ฆ,
JS์์ ๊ฐ์ฒด๋ ํจ์ ์์ฒด๋ฅผ exportํ๋ ๋ฐฉ์๊ณผ ๋ค๋ฅด๋ค๋ ์ ์ ์ดํดํ๋ค.
Optional์ ๊ฐ์ด ์์ ์๋ ์๊ณ ์์ ์๋ ์๋ ๊ฐ์ฒด์ด๋ค.
๋จ, ๊ฐ์ด ์์ ๊ฒฝ์ฐ ์์ธ๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์
์ค๋ฌด์์๋ orElse, orElseThrow ๋ฑ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
assertThrows๋ ํน์ ์์ธ๊ฐ ๋ฐ์ํ๋์ง ํ ์คํธํ๋ ๋ฉ์๋์ด๋ค.
๋๋ค์ () -> memberService.join(member2)๋
ํด๋น ์ฝ๋๋ฅผ ์ฆ์ ์คํํ์ง ์๊ณ โ์คํํ ์ฝ๋โ๋ก ์ ๋ฌํ๋ ์ญํ ์ ํ๋ค.
์ฆ,
ํ๋ก ํธ์ () => ํจ์์ ๋์ผํ ๊ฐ๋ ์ผ๋ก ์ดํดํ ์ ์๋ค.
๊ธฐ์กด try-catch ๋ฐฉ์๊ณผ assertThrows ๋ฐฉ์์ ์ฐจ์ด๋ฅผ ์ดํดํ๋ค.
๋ํ ๋จ์ ๊ฐ ๋น๊ต ํ
์คํธ๊ฐ ์๋
โ์ ์ฅ โ ์กฐํโ ํ๋ฆ์ ๊ฒ์ฆํ๋ ํ
์คํธ๊ฐ ๋ ์๋ฏธ ์๋ค๋ ์ ์ ์ดํดํ๋ค.
IllegalStateException, IllegalArgumentException ๋ฑ์ ์์ธ๋
์ธ์ฐ๋ ๊ฒ์ด ์๋๋ผ ์ํฉ์ ๋ง๊ฒ ์ ํํ๋ ๊ฒ์์ ์ดํดํ๋ค.
์ฆ,
ํ๋ก ํธ์ util ํจ์์ ๋ฌ๋ฆฌ
๋ฐฑ์๋๋ ์ญํ ์ด ๋ช
ํํ ๋ถ๋ฆฌ๋์ด ์๋ค๋ ์ ์ ์ดํดํ๋ค.
Service์์ Repository๋ฅผ ์ง์ new๋ก ์์ฑํ์ง ์๊ณ
์ธ๋ถ์์ ์ฃผ์
๋ฐ๋ ์ด์ ๋ฅผ ์ดํดํ๋ค.
์ด ๋ฐฉ์์ ์ฅ์ :
์ฆ,
๊ฐ์ฒด๋ฅผ ๋ด๋ถ์์ ์์ฑํ๋ ๊ฒ์ด ์๋๋ผ
์ธ๋ถ์์ ์ฃผ์
๋ฐ๋ ๊ฒ์ด ๋ ์ ์ฐํ ๊ตฌ์กฐ์ด๋ค.
์ด๋ฒ ํ์ต์ ํตํด
ํ๋ก ํธ์๋ ์ค์ฌ์ ์ฌ๊ณ ์์ ๋ฒ์ด๋
๋ฐฑ์๋์ ๊ตฌ์กฐ์ ์ธ ์ค๊ณ ๋ฐฉ์์ ๋ํด ์ดํดํ๊ธฐ ์์ํ๋ค.
ํนํ
๋ฑ์ด ์๋ก ์ฐ๊ฒฐ๋์ด ์๋ค๋ ์ ์ ๋๊ผ๋ค.
์์ง ์์ ํ ์ต์ํ์ง๋ ์์ง๋ง,
ํ๋ก ํธ ์ฝ๋๋ก ๋ณํํด์ ์ดํดํ๋ ๋ฐฉ์์ด ํจ๊ณผ์ ์ด์๋ค.
์๋ฐ ๊ฐ์๋ฅผ ๋ณธ๊ฒฉ์ ์ผ๋ก ์๊ฐํ๋ฉด์, ๊ฐ๋ฐ์ ์ฒ์ ์ ํ๋ ํ๋ถ์๋๋ก ๋์๊ฐ ๋๋์ด๋ค
์ฌ์ํ ์ฝ๋ ํ๋์๋ ์?๋ฅผ ๋ถ์ด๋ ๊ทธ๋์ฒ๋ผใ
ใ
๊ทธ๋๋ ์ด๋ ๊ฒ ํ๋์ฉ ์ดํดํด๊ฐ๋ค ๋ณด๋ฉด ์ฑ์ฅํ๊ฒ ์ง!!
ํ๋ก ํธ์๋ ๋ฟ๋ง ์๋๋ผ ๋ฐฑ์๋ ๊น์ง ๊ณต๋ถํ์๋ ๋ชจ์ต์ด ์ธ์์ ์ด๋ค์! ๊ฐ๋ฐ์๋ ํ์ดํ :)