์ด ๊ธฐ์ฌ์์๋ Java ํ๋ก๊ทธ๋๋ฐ์์ final ํค์๋ ์ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค . ์ ์ฉ ์ํฉ์ ๋ํ ๊ฐ๋ตํ๊ณ ๋ช
ํํ ์ค๋ช
์ ์๋ฃ๋ฅผ ๋น ๋ฅด๊ฒ ๋ฐฐ์ฐ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. final ํค์๋๋ ํ๋ก๊ทธ๋จ ๋ด์์ ์ฌ์ฉ๋๋ ์์น์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ํด์๋ฉ๋๋ค. ๊ทธ๋ฌ๋์ด ๋จ์ด์ ๋ณธ์ง์ ๋์ผํฉ๋๋ค. ๋ณ๊ฒฝ ๊ธ์ง . ์ค์ ๋ก ์ด ๋จ์ด๋ฅผ Java ์ธ์ด์ ๋ณธ์ง ์ค ํ๋์ธ ๋ณ์, ๊ฐ์ฒด, ๋ฉ์๋ ๋๋ ํด๋์ค์ ์ ์ฉํจ์ผ๋ก์จ ๊ฐ์ Joseph Kobzon์ ํค์ด์คํ์ผ์ฒ๋ผ ์์, ์์ ์ ์ด๊ณ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๊ฐ์ผ๋ก ๋ง๋ญ๋๋ค... ์๊ธฐ์์ผ ๋๋ฆฌ๊ฒ ์ต๋๋ค. ์์์ ๊ฐ๋ตํ ์ ์. ์์๋ ์ํ, ๋ฌผ๋ฆฌํ, ํํ์์ ์ผ์ ํ ์(์ค์นผ๋ผ ๋๋ ๋ฒกํฐ)์
๋๋ค. ์ํ ์์๋ ๊ฐ์ด ๋ณํ์ง ์๋ ์๋์
๋๋ค. ์ฌ๊ธฐ์๋ ๋ณ์์ ๋ฐ๋์
๋๋ค. final ์ด๋ผ๋ ๋จ์ด๋ฅผ ์ฌ์ฉํ ์ ์๋ 4๊ฐ์ง ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค .
1. ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ ํ์ ์์ ์์ฑ.
์ฌ๊ธฐ์ MY_CONST ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ณธ ๋ณ์ ์์ final์ด๋ผ๋ ๋จ์ด๋ฅผ ์ฐ๋ฉด ์ด๋ ์์์ ๋๋ค.public class MyClass{
public final int MY_CONST = 13;
}
2. ์ฐธ์กฐ ์ ํ ์์๋ฅผ ์์ฑํฉ๋๋ค.
์ด ์ฝ๋๋ ์ค๋ฅ๋ฅผ ๋ฐ์์ํค์ง ์์ง๋ง s1 ๋ณ์์ ์ ๊ฐ์ ํ ๋นํ ๋๊น์ง๋ง ๋ฐ์ํฉ๋๋ค . ์ฆ, ์ฐธ์กฐ ์ ํ์ ๋ํ final ์ด๋ผ๋ ๋จ์ด๋ ์ฐธ์กฐ๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด๊ฐ ์๋ ์ฐธ์กฐ์ ์์ ์ ๊ธ์งํฉ๋๋ค. ํ ๋น์ ํ๋ก๊ทธ๋จ์ ์ด๋ ๊ณณ์์๋ ์ ํจํ์ง๋ง ํ ๋ฒ๋ง ์ ํจํ๋ค๋ ์ ๋ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค.public class MyClass2{
public final String s1;
public MyClass2() {
s1 = new String();
}
}
3. ์์ ํด๋์ค์ ๋ฉ์๋ ์ค๋ฒ๋ผ์ด๋ฉ ๊ธ์ง
๋ฉ์๋ ์์ ์๋ final์ด๋ผ๋ ๋จ์ด๋ ํ์ ํด๋์ค์์ ์ด ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ๋ ๊ฒ์ ๊ธ์งํฉ๋๋ค.public class Example{
public final void hello() {
System.out.println(โHello my people!โ);
}
}
์ฆ, ์์ ๋ฅผ ์์๋ฐ์ ํด๋์ค๋ฅผ ์์ฑ ํ๊ณ ๊ทธ ์์ ๋ค์ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
public class ExtendedExample extends Example{
public void hello() {
System.out.println("Extended hello everyone!!!");
}
}
4. ์์ ํด๋์ค ์์ฑ ๊ธ์ง
์ต์ข ํด๋์ค๋ ์ํผํด๋์ค๊ฐ ๋ ์ ์๋ ํด๋์ค์ ๋๋ค. ์ฆ, ํด๋น ํด๋์ค์ ์์์ ์์ฑํ ์ ์์ต๋๋ค.public final class MyClass3 {
}
์ ์: ์ด๋ฆฌ๋ ๋ณผ์ง๋
GO TO FULL VERSION