๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ธํ„ฐํŽ˜์ด์Šค ์ถ”์ƒํด๋ž˜์Šค1

[JAVA 8] ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค(Functional Interface) ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค(Functional Interface) ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋””ํดํŠธ ๋ฉ”์„œ๋“œ์™€๋Š” ์ƒ๊ด€์—†์ด ์ถ”์ƒ ๋ฉ”์„œ๋“œ๊ฐ€ ์˜ค์ง ํ•˜๋‚˜์ธ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. ๋žŒ๋‹ค์‹์€ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ๋งŒ ์ž‘์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿง ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ์ถ”์ƒ ํด๋ž˜์Šค์™€ ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ถ”์ƒ ํด๋ž˜์Šค๋Š” ์ƒ์†(extends) ๋ฐ›๊ฑฐ๋‚˜ ๊ตฌํ˜„(implements)ํ•˜๋Š” ํด๋ž˜์Šค๊ฐ€ ์ธํ„ฐํŽ˜์ด์Šค๋‚˜ ์ถ”์ƒ ํด๋ž˜์Šค ๋‚ด ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋„๋ก ๊ฐ•์ œํ•œ๋‹ค. - ์ธํ„ฐํŽ˜์ด์Šค (๋‹คํ˜•์„ฑ์˜ ํŠน์ง•) ๊ณตํ†ต ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•  ๋•Œ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•ด๋†“๊ณ  ๊ตฌํ˜„ํ•˜๋Š” ํด๋ž˜์Šค์—์„œ ๊ฐ ๊ธฐ๋Šฅ์„ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ˜•ํƒœ, ๊ธฐ๋Šฅ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. - ์ถ”์ƒ ํด๋ž˜์Šค (์ƒ์†์˜ ํŠน์ง•) ์ƒ์† ๊ด€๊ณ„์—์„œ ๊ฐ™์€ ๋ถ€๋ชจ ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š” ์ž์‹ ํด๋ž˜์Šค ๊ฐ„์— ๊ณตํ†ต ๊ธฐ๋Šฅ์„ ๊ฐ๊ฐ ๊ตฌํ˜„ํ•˜๊ณ  ํ™•์žฅ์‹œํ‚จ๋‹ค. ๊ทธ.. 2022. 1. 14.