static

    ์ธํ„ฐํŽ˜์ด์Šค์˜  default์™€ static ๋ฉ”์†Œ๋“œ java8

    ์ธํ„ฐํŽ˜์ด์Šค์˜ default์™€ static ๋ฉ”์†Œ๋“œ java8

    java8์˜ ์ธํ„ฐํŽ˜์ด์Šค default Method java8์—์„œ ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ์œผ๋กœ ์ธํ„ฐํŽ˜์ด์Šค์— ๊ธฐ๋ณธ ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ธฐ๋ณธ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” ์ด์œ ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ตฌํ˜„์ฒด๋“ค์ด ๊ณตํ†ต๋œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. default๋กœ ์ถ”๊ฐ€ํ•ด์คŒ์œผ๋กœ์จ ์›๋ž˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ๋˜ ๊ตฌํ˜„์ฒด์—์„œ ์ƒˆ๋กœ์šด ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•  ํ•„์š”๊ฐ€ ์—†์–ด์ง„๋‹ค. Default Method ๊ตฌํ˜„ ๋ฐฉ๋ฒ• public interface Foo { String getName(); default void printUpperName() { System.out.println(getName().toUpperCase()); } } ์œ„ ์ฒ˜๋Ÿผ default๋ฅผ ํ™œ์šฉํ•ด ๋ฉ”์†Œ๋“œ๋ฅผ interface์—์„œ ๊ตฌํ˜„ํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค. ์ด ์ธํ„ฐ..