method 2

[java]default method์˜ ํ˜ธํ™˜์„ฑ

๋ชจ๋˜ ์ž๋ฐ” ์ธ ์•ก์…˜์˜ default method ๋ถ€๋ถ„์„ ์ฝ๋˜ ์ค‘์— ํ˜ธํ™˜์„ฑ์ด๋ž€ ๋‹จ์–ด๋ฅผ ์ง€๋‚˜์น˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ๋ฌธ๋“ ์ œ๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ํ˜ธํ™˜์„ฑ๊ณผ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ด์•ผ๊ธฐํ•˜๋Š” ํ˜ธํ™˜์„ฑ์ด ๋งž๋‚˜? ํ•˜๋Š” ์˜๋ฌธ์„ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ ์ฑ…์—์„œ ํ˜ธํ™˜์„ฑ์— ๋Œ€ํ•ด ํ•œ๋ฒˆ ๋” ์ƒ์„ธํ•˜๊ฒŒ ์„ค๋ช…์„ ํ•ด ๋†“์•˜๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ ์ด๋ฅผ ๊ธ€๋กœ ์ž‘์„ฑ์„ ํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. default method default method๋Š” ์ž๋ฐ” 8์—์„œ ์ฒ˜์Œ ๋‚˜ํƒ€๋‚œ ๊ธฐ๋Šฅ์œผ๋กœ List ์ธํ„ฐํŽ˜์ด์Šค์— sort() ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๋ฉด์„œ ์ž…๋‹ˆ๋‹ค. ๋‚ด๋ถ€๋ฅผ ๋ณด์‹œ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด default ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ธฐ์กด์— List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†ํ•œ ๋ชจ๋“  ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉ์ž๋“ค์ด ์ˆ˜์ •ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋„๋ก default ๋ฉ”์„œ๋“œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค์— static ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ  ์™œ def..

Languages/java 2022.10.26

[JUnit] private Method ํ…Œ์ŠคํŠธํ•˜๊ธฐ!

์‚ฌ์‹ค private Method๊ฐ€ test๊ฐ€ ๋˜์ง€ ์•Š์€ ์ด์œ ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ•  ํ•„์š”๊ฐ€ ์—†๊ฒŒ๋” ๊ตฌํ˜„ํ•˜๋ผ๋Š” ์˜๋„๊ฐ€ ๊น”๋ ค ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ€๋” private Method๋ฅผ ํ…Œ์ŠคํŠธ ํ•ด์•ผํ•  ๋•Œ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ € ๊ฐ™์€ ๊ฒฝ์šฐ ์ค‘๊ฐ„์— ์ธ์ˆ˜์ธ๊ณ„๋ฐ›์€ ์ž‘์—…์ด ์กด์žฌํ•˜๋Š”๋ฐ spec์ด ๋ณ€๊ฒฝ๋˜๋ฉด์„œ ํ•ด๋‹น Method๋งŒ์„ ํ…Œ์ŠคํŠธ ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋‚˜๋ฆ„์˜ ๋ฐฉ๋ฒ•์„ ์ฐพ์€ ํ›„ ํ•ด๋‹น ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Method์™€ ReflectionTestUtils ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. java.lang.reflect.Method org.springframework.test.util.ReflectionTestUtils TestCode ์•„๋ž˜์™€ ๊ฐ™์ด Pr..

Languages/java 2022.09.07
728x90
๋ฐ˜์‘ํ˜•