functional-interface
Java ์คํ์ ์ ์๋ ํจ์ํ ์ธํฐํ์ด์ค๋ผ๋ ๊ฒ์ ์๋ฆฌ๊ธฐ ์ํ ์ ๋ณด์ฑ ์ ๋ ธํ ์ด์
ํจ์ํ ์ธํฐํ์ด์ค ?
ํ๊ฐ์ ์ถ์ ๋ฉ์๋๋ฅผ ๊ฐ์ง
default
์ ์ธ๋ ๋ฉ์๋๋ ๊ตฌํ์ด ์์ผ๋ฏ๋ก ์ถ์ ๋ฉ์๋๊ฐ ์๋java.lang.Object
์ ๊ณตํต ๋ฉ์๋(equals()
..๋ฑ) ๋ฅผ ๋์ฒดํ๋ ์ถ์ ๋ฉ์๋๋, ํจ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ํ ์ถ์๋ฉ์๋๋ก ์ฌ๊ฒจ์ง์ง ์์.
ํ๋์ ์ถ์ ๋ฉ์๋๋ฅผ ๊ฐ์ง๋ ์ ์ ํ ํจ์ํ ์ธํฐํ์ด์ค
default method๋ Object์ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ ํ๋ ๊ฒฝ์ฐ ์ปดํ์ผ ์๋ฌ ๋ฐ์
@FunctionalInterface
๋ก ์ ์ธ๋ ํ์ ์..interface
ํ์ ์ด์ด์ผํจ. annotation, enum, class ๋ฉด ์ฌ์ฉํ ์ ์์.
๊ทธ๋ ์ง๋ง
@FunctionalInterface
์ด๋ ธํ ์ด์ ์ ์ธ๊ณผ ๋ฌด๊ดํ๊ฒ, ํจ์ํ ์ธํฐํ์ด์ค์ ์ ์ ์ฆ ํด๋น ์ธํฐํ์ด์ค๊ฐ ํ๋์ ์ถ์๋ฉ์๋๋ง ๊ฐ๋ ๋ค๋ฉด ์ปดํ์ผ๋ฌ๋ ํด๋น ์ธํฐํ์ด์ค๋ฅผ ํจ์ํ ์ธํฐํ์ด์ค๋ก ์ทจ๊ธํจ.
๋ํ์ ์ธ ํจ์ํ ์ธํฐํ์ด์ค
์ฐธ๊ณ
https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/FunctionalInterface.html
https://johngrib.github.io/wiki/java-functional-interface/
https://www.baeldung.com/java-8-functional-interfaces
Last updated