2022. 4. 6. 10:05ใJAVA/study
1๏ธโฃ ๊ธฐ๋ณธ ๋ฉ์๋ Default Methods
์ธํฐํ์ด์ค์ ๋ฉ์๋ ์ ์ธ์ด ์๋๋ผ ๊ตฌํ์ฒด๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ
ํด๋น ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค๋ฅผ ๊นจํธ๋ฆฌ์ง ์๊ณ ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ ์๋ค.
๊ธฐ๋ณธ ๋ฉ์๋๋ ๊ตฌํ์ฒด๊ฐ ๋ชจ๋ฅด๊ฒ ์ถ๊ฐ๋ ๊ธฐ๋ฅ์ผ๋ก ๊ทธ ๋งํผ ๋ฆฌ์คํฌ๊ฐ ์๋ค.
-> ์ปดํ์ผ ์๋ฌ๋ ์๋์ง๋ง ๊ตฌํ์ฒด์ ๋ฐ๋ผ ๋ฐํ์ ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์๋ค.
-> ๋ฐ๋์ ๋ฌธ์ํํ ๊ฒ!! (@ImpleSpec ์๋ฐ๋ ํ๊ทธ ์ฌ์ฉ!)
Object๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ(equals, hasCode)๋ ๊ธฐ๋ณธ ๋ฉ์๋๋ก ์ ๊ณตํ ์ ์๋ค.
-> ๊ตฌํ์ฒด๊ฐ ์ฌ์ ์ํด์ผํ๋ค.
๋ณธ์ธ์ด ์์ ํ ์ ์๋ ์ธํฐํ์ด์ค์๋ง ๊ธฐ๋ณธ ๋ฉ์๋๋ฅผ ์ ๊ณตํ ์ ์๋ค.
์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ๋ ์ธํฐํ์ด์ค์์ ๋ค์ ์ถ์ ๋ฉ์๋๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค.
์ธํฐํ์ด์ค ๊ตฌํ์ฒด๊ฐ ์ฌ์ ์ํ ์๋ ์๋ค.
default void printNameUppserCase()
2๏ธโฃ Static ๋ฉ์๋
ํด๋น ํ์ ๊ด๋ จ ํฌํฐ ๋๋ ์ ํธ๋ฆฌํฐ ๋ฉ์๋๋ฅผ ์ ๊ณตํ ๋ ์ธํฐํ์ด์ค์ ์คํํฑ ๋ฉ์๋๋ฅผ ์ ๊ณตํ ์ ์๋ค.
-> printAnything()
3๏ธโฃ ์๋ฐ8 API์ ๊ธฐ๋ณธ ๋ฉ์๋์ ์คํํฑ ๋ฉ์๋
์๋ฐ 8์์ ์ถ๊ฐํ ๊ธฐ๋ณธ ๋ฉ์๋๋ก ์ธํ API ๋ณํ
Iterable์ ๊ธฐ๋ณธ๋ฉ์๋
- forEach()
- spliterator() : ์ชผ๊ฐค ์ ์๋ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ฒ! (์ด๊ฑฐ ์๋ฉด ์ข ์๋ฐ 8 ์๋ค๊ณ ํ ์ ์๋ค๋ ๋ญ๋ผ๋...)
name.forEach(System.out::println);์ผ๋ก ํ๋ฉด ์ง์ง ์ฝ๋๊ฐ ๊ฐ๋จํด์ง๋ค!!!
Collection์ ๊ธฐ๋ณธ ๋ฉ์๋
- stream() / parallelStream()
- removeIf(Predicate)
- spliterator()
Comparator์ ๊ธฐ๋ณธ ๋ฉ์๋ ๋ฐ ์คํํฑ ๋ฉ์๋
- reversed()
- thenComparing()
- static reverseOrder() / naturalOrder()
- static nullsFirst() / static nullsLast()
- static comparing() : ์ ๋ ฌ
'JAVA > study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] ๋ ์๋ฐ, Java 8 Optional (0) | 2022.04.11 |
---|---|
[JAVA] ๋ ์๋ฐ, Java 8 Stream (0) | 2022.04.06 |
[JAVA] ๋ ์๋ฐ, Java 8 ํจ์ํ ์ธํฐํ์ด์ค์ ๋๋ค ํํ์ (0) | 2022.04.06 |
[JAVA] 1. ์๋ฐ 8, LTS์ ๋น LTS ์ฐจ์ด, ์๋ฐ8 ์ฃผ์ ๊ธฐ๋ฅ (0) | 2022.04.06 |
[JAVA] Map- getOrDefault() ๋? (0) | 2022.04.05 |