๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ๏ธ ๋ฐฑ์—”๋“œ/Java

[ch.14] java.util.function ํŒจํ‚ค์ง€

by OR15A 2023. 11. 15.

์ผ๋ฐ˜์ ์œผ๋กœ ์ž์ฃผ ์“ฐ์ด๋Š” ํ˜•์‹์˜ ๋ฉ”์„œ๋“œ๋ฅผ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ฏธ๋ฆฌ ์ •์˜ํ•ด๋‘ .

 

  • java.util.function ํŒจํ‚ค์ง€์˜ ์ธํ„ฐํŽ˜์ด์Šค๋“ค์€ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๋ฐ˜ํ™˜๊ฐ’ ๋ชจ๋‘ ์ œ๋„ค๋ฆญ ํƒ€์ž…์œผ๋กœ ์„ ์–ธ๋˜์–ด ์žˆ์Œ.
  • ๋”ฐ๋ผ์„œ ๊ธฐ๋ณธํ˜• ๊ฐ’(primitive type)์„ ์ฒ˜๋ฆฌํ•  ๋•Œ๋Š” ํ•ด๋‹น ๊ธฐ๋ณธํ˜•์˜ ๋ž˜ํผ(wrapper) ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ.

 

 

์กฐ๊ฑด์‹ ํ‘œํ˜„์— ์‚ฌ์šฉ๋˜๋Š” Predicate

  • predicate๋Š” Function์˜ ๋ณ€ํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํƒ€์ž…์ด boolean์ž„.
  • ์กฐ๊ฑด์‹์„ ๋žŒ๋‹ค์‹์œผ๋กœ ํ‘œํ˜„ํ•  ๋•Œ ์‚ฌ์šฉํ•จ.

 

java.util.function ํŒจํ‚ค์ง€์˜ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค์— ์ •์˜๋œ ๋ฉ”์„œ๋“œ๋“ค

 

 

๊ธฐ๋ณธํ˜•์„ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค

  • ๋‹จ์ง€ ์„ฑ๋Šฅ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•จ.

 

Function์˜ ํ•ฉ์„ฑ

  • ๋‘ ๋žŒ๋‹ค์‹์„ ํ•ฉ์„ฑํ•ด์„œ ์ƒˆ๋กœ์šด ๋žŒ๋‹ค์‹์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ. ์–ด๋Š ํ•จ์ˆ˜๋ฅผ ๋จผ์ € ์ ์šฉํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ ๋‹ค๋ฆ„.
  • identity()๋Š” ํ•ญ๋“ฑํ•จ์ˆ˜๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉ.๊ทธ๋Œ€๋กœ๋ฐ˜ํ™˜

 

 

Predicate์˜ ๊ฒฐํ•ฉ

  • Predicate๋ฅผ ์—ฐ๊ฒฐํ•ด์„œ ์ƒˆ๋กœ์šด Predicate๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์—ญํ• ์„ ํ•จ.
  • isEqual()์€ ์ฃผ์–ด์ง„ ๊ฐ์ฒด์™€ ๋™๋“ฑํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ๋น„๊ตํ•˜๋Š” Predicate๋ฅผ ์ƒ์„ฑํ•จ.