interface 2

[java] Function์„ ํ™œ์šฉํ•˜์—ฌ If๋ฌธ ์ œ๊ฑฐํ•˜๊ธฐ

ํšŒ์‚ฌ์—์„œ ๊ธฐ์กด์— ์ž‘์„ฑ๋˜์–ด์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ค ํ•˜๋‚˜์˜ method ๋‚ด์— ์‹ญ์—ฌ๊ฐœ์˜ if๋ฌธ...์œผ๋กœ ์ž‘์„ฑ๋œ ํŒŒ์ผ์„ ๋ณด๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์•…ํ•˜๋Š”๊ฒŒ ๋„ˆ๋ฌด ํž˜๋“ค๋”๊ตฐ์š”... ๊ทธ๋ž˜์„œ ์กฐ๊ธˆ ๋” ํŒŒ์•…ํ•˜๊ธฐ ์‰ฝ๊ณ  ์œ ์ง€๋ณด์ˆ˜์— ํšจ๊ณผ์ ์ธ ์ฝ”๋“œ๋Š” ์—†์„๊นŒ ๊ณ ๋ฏผ์„ ํ–ˆ๋‹ค ์˜ˆ์ „์— ์ฐจ์žฅ๋‹˜์ด ๊ตฌํ˜„ํ•ด๋†“์œผ์‹ (๋‹น์‹œ์—๋Š” Functional Interface๋ฅผ ๋ชฐ๋ผ ์ดํ•ดํ•˜๊ธฐ ๋ฌด์ฒ™ ์–ด๋ ค์› ๋‹ค๋Š” ์‚ฌ์‹ค์€ ๋น„๋ฐ€) ์ฝ”๋“œ์™€ ๋ช‡์ผ์ „์— ๋ณด์•˜๋˜ ๋‹ค๋ฅธ ์–ธ์–ด๋“ค์˜ if๋ฌธ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ƒ๊ฐ์ด ๋‚˜๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ ๊ทธ๊ฒƒ๊ณผ ๋น„์Šทํ•œ ๋ฐฉ์‹์œผ๋กœ ์ „๋ฐ˜์ ์ธ refactoring์„ ์ง„ํ–‰ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ ์šฉ์„ ๋‹ค ํ•˜๊ณ  ๋‚˜๋‹ˆ ์ •๋ฆฌํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๋“ฏ ํ•ด์„œ sample ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ java์—์„œ if๋ฌธ์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. Sample if ๊ฐ€ '๋งŽ์ด' ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ..

Languages/java 2022.11.09

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

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

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