Search

์ค‘์ฒฉ ์ธํ„ฐํŽ˜์ด์Šค

์ค‘์ฒฉ ์ธํ„ฐํŽ˜์ด์Šค

ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์„ ์–ธํ•œ ์ธํ„ฐํŽ˜์ด์Šค
์ค‘์ฒฉ ์ธํ„ฐํŽ˜์ด์Šค(Nested Interface)๋Š” ๋‹ค๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค๋‚˜ ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์„ ์–ธ๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ž๋ฐ”์™€ ๊ฐ™์€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์ฝ”๋“œ์˜ ์บก์Šํ™”์™€ ๊ตฌ์กฐํ™”๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ค‘์ฒฉ ์ธํ„ฐํŽ˜์ด์Šค์˜ ํŠน์ง•

โ€ข
์ค‘์ฒฉ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ static ํŠน์„ฑ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
โ€ข
static ํ‚ค์›Œ๋“œ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์„ ์–ธํ•˜์ง€ ์•Š์•„๋„ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ž๋™์œผ๋กœ static์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
โ€ข
์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌํ˜„ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋Š” '์™ธ๋ถ€ํด๋ž˜์Šค.์ค‘์ฒฉ์ธํ„ฐํŽ˜์ด์Šค' ํ˜•ํƒœ์˜ ํƒ€์ž…์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ค‘์ฒฉ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์˜ˆ์‹œ

class OuterClass { // ์ค‘์ฒฉ ์ธํ„ฐํŽ˜์ด์Šค public interface NestedInterface { void nestedMethod(); } } // ์ค‘์ฒฉ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ class ImplementingClass implements OuterClass.NestedInterface { @Override public void nestedMethod() { System.out.println("์ค‘์ฒฉ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ฉ”์†Œ๋“œ ๊ตฌํ˜„"); } }
Java
๋ณต์‚ฌ

์ค‘์ฒฉ ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ™œ์šฉ

์ค‘์ฒฉ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ฃผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค:
โ€ข
ํŠน์ • ํด๋ž˜์Šค์™€ ๊ฐ•ํ•˜๊ฒŒ ์—ฐ๊ด€๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•  ๋•Œ
โ€ข
API ์„ค๊ณ„ ์‹œ ๊ด€๋ จ ๊ธฐ๋Šฅ์„ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ทธ๋ฃนํ™”ํ•  ๋•Œ
โ€ข
์ฝœ๋ฐฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌํ˜„ํ•  ๋•Œ
โ€ข
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ๋ฐœ ์‹œ ๋ช…ํ™•ํ•œ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•  ๋•Œ