๐ก ๋๋ถ๋ถ์ ๋ด์ฉ์ ์ ํ ํฌ ์๋ฐ ์์ ์ฐธ๊ณ ํ์ฌ ์ ๋ฆฌํ์์ต๋๋ค.
final
์๋ฃํ์ ๊ฐ์ ๋จ ํ๋ฒ๋ง ์ค์ ํ ์ ์๊ฒ ๊ฐ์ ํ๋ ํค์๋์ด๋ค.
๊ฐ์ ํ ๋ฒ ์ค์ ํ๋ฉด ํด๋น ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์ผ๋ฏ๋ก, ๊ฐ์ด ๋ฐ๋๋ฉด ์ ๋ ๋ ์ฌ์ฉํ๋ค.
final int n = 123;
n = 456; // ์ปดํ์ผ ์ค๋ฅ ๋ฐ์!!!
list์ final
๋ฆฌ์คํธ๋ final๋ก ์ ์ธํ๋ฉด ์ฌํ ๋น์ด ๋ถ๊ฐ๋ฅํ๋ค. ํ์ง๋ง, ๋ฆฌ์คํธ์ ๊ฐ์ ๋ํ๊ฑฐ๋ ๋นผ๋ ๊ฒ์ ๊ฐ๋ฅํ๋ค. (์ฌํ ๋น๋ง ๋ถ๊ฐ๋ฅํ ๋ฟ.)
final ArrayList<String> a = new ArrayList<>(Arrays.asList("a", "b"));
a = new ArrayList<>(Arrays.asList("c", "d")); // ์ปดํ์ผ ์๋ฌ ๋ฐ์!!!
a.add("c"); // ์๋ฌ ๋ฐ์ํ์ง ์์!!
๋ฐ๋ผ์, ๋ง์ฝ ๊ฐ์ ๋ํ๊ณ ๋นผ๋ ๊ฒ๋ ๋ถ๊ฐ๋ฅํ๊ฒ ํ๊ณ ์ถ๋ค๋ฉด List.of๋ฅผ ์์ฑํ์ฌ ์์ ํ ์ ์๋ ๋ฆฌ์คํธ(Unmmodifiable List)๋ก ๋ง๋ค๋ฉด ๋๋ค.
final List<String> a = List.of("a", "b");
a.add("c"); // UnsupportedOperationException ๋ฐ์
'Java > ๋ฌธ๋ฒ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ๋ฐฐ์ด์ ๊ณตํต ์์ ์งํฉ ๊ตฌํ๊ธฐ (0) | 2024.03.02 |
---|---|
[Java ๋ฌธ๋ฒ] Scanner๋ณด๋ค ๋น ๋ฅธ BufferedReader, StringTokenizer (0) | 2024.01.29 |
[Java ๋ฌธ๋ฒ ์ด์ ๋ฆฌ] ๋ฌธ์์ด โ ์ซ์ ํ๋ณํ / int โ char (0) | 2024.01.27 |
[Java ๋ฌธ๋ฒ ์ด์ ๋ฆฌ] ์์ ์งํฉ enum (1) | 2024.01.27 |
[Java ๋ฌธ๋ฒ ์ด์ ๋ฆฌ] Math ํด๋์ค, Random ํด๋์ค (0) | 2024.01.27 |