Bibi's DevLog ๐ค๐
[Java] final (ํด๋์ค, ๋ฉ์๋, ๋ณ์, ์ธ์คํด์ค๋ณ์) ๋ณธ๋ฌธ
[Java] final (ํด๋์ค, ๋ฉ์๋, ๋ณ์, ์ธ์คํด์ค๋ณ์)
๋น๋น bibi 2021. 2. 18. 00:20final
('์๋ฐ์ ์ ' ์ ์ฐธ๊ณ ํ๋ฉฐ ๋ด์ฉ์ ์ ๋ฆฌํ์ต๋๋ค)
์๋ฐ ์์ฝ์ด ์ค ํ๋์ธ final
์ ํด๋์ค, ๋ฉ์๋, ๋ณ์์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
final ํด๋์ค
ํด๋์ค๋ฅผ final
๋ก ์ ์ธ ์, ๋ค๋ฅธ ํด๋์ค์์ ํ์ฅํด์ ์ธ ์ ์๋ค. (extends
ํ ์ ์๋ค)
public final class FinalClass() { ... }
์ ๊ทผ์ ์ด์์class
์ฌ์ด์ ์ถ๊ฐํ๋ค.- ๋ ์ด์ ํ์ฅํด์๋ ์ ๋๋ ํด๋์ค์ ์ฌ์ฉํจ
- ๋๊ตฐ๊ฐ ์ด ํด๋์ค๋ฅผ ์์๋ฐ์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ๋ฐฉ์งํจ
final ๋ฉ์๋
๋ฉ์๋๋ฅผ final
๋ก ์ ์ธ ์, ํด๋น ๋ฉ์๋๋ฅผ Overridingํ ์ ์๋ค.
public final void finalMethods() { ... }
- ๋๊ตฐ๊ฐ ์ด ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํด ๋ฎ์ด์ฐ๋ ๊ฒ์ ๋ฐฉ์งํจ
final ๋ณ์
๋ณ์๋ฅผ final
๋ก ์ ์ธ ์, ๊ทธ ๋ณ์์ ๊ฐ์ ๋ฐ๊ฟ ์ ์๋ค.
๋ฐ๋ผ์ ๋ณ์๋ฅผ final
๋ก ์ ์ธํ๋ฉด, ๋ณ์ ์์ฑ๊ณผ ๋์์ ๊ฐ์ ์ด๊ธฐํํด์ผ ํ๋ค.
private final int finalVariable = 0
- ์์์ ๊ฐ์ด ๋ณํ์ง ์๋ ๊ฐ์
final
๋ก ์ ์ธํ๋ค. - ๊ธฐ๋ณธ ์๋ฃํ / ์ฐธ์กฐ ์๋ฃํ ๋ชจ๋
final
๋ก ์ ์ธ ๊ฐ๋ฅํ๋ค.
final๋ก ์ ์ธํ ์ธ์คํด์ค ๋ณ์
(์ด ๋ด์ฉ์ ''์๋ฐ์ ์ ์''์ ์ฐธ๊ณ ํด ์์ฑ๋์์ต๋๋ค.๐โโ๏ธ)
final
๋ก ์ ์ธํ ๋ณ์๋ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ ์์๊ฐ ๋๋ค.
๋ฐ๋ผ์ final
๋ก ๋ณ์๋ฅผ ์ ์ธํ ๋๋ ์ ์ธ๊ณผ ์ด๊ธฐํ๋ฅผ ๋์์ ํด์ผ ํ๋ค. (๊ทธ๋ ์ง ์์ผ๋ฉด ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค)
๊ทธ๋ฌ๋ final
๋ก ์ ์ธํ ์ธ์คํด์ค๋ณ์์ ๊ฒฝ์ฐ, ์์ธ์ ์ผ๋ก ์์ฑ์์์ ์ด๊ธฐํ๊ฐ ๊ฐ๋ฅํ๋ค.
์์ฑ์๋ก๋ถํฐ ๋ฐ์ ๋งค๊ฐ๋ณ์๋ก ์ธ์คํด์ค๋ณ์๋ฅผ ์ด๊ธฐํํ ์ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๋ final
์ธ์คํด์ค๋ณ์๊ฐ ๊ฐ ์ธ์คํด์ค๋ง๋ค ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง ์ ์๋๋ก ํ๋ค.
'๐ฅ BE ๋ฐฑ์๋ > Java ์๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] Value Object (VO) ๊ฐ ๊ฐ์ฒด (0) | 2021.02.18 |
---|---|
[Java] enum (์ด๊ฑฐํ) (0) | 2021.02.18 |
[Java] this์ this() (0) | 2021.02.18 |
[Java] List ๋ฆฌ์คํธ = ArrayList ๋ก ์ ์ธํด ์ฌ์ฉํ๋ ์ด์ (2) | 2021.02.18 |
[Java] JUnit, AssertJ์ ๊ฐ๋ ๋ฐ ๊ธฐ์ด์ ์ธ ์ฌ์ฉ๋ฒ (๋จ์ ๋ฌธ, ์ด๋ ธํ ์ด์ ) (2) | 2021.02.16 |