[JAVA] final
1. final
- λ³μμ final ν€μλκ° λΆμΌλ©΄ λλ κ°μ λ³κ²½ν μ μλ€.
1) final μ§μ λ³μ
public class FinalMain {
final int data1;
data1 = 10; // μ΅μ΄ νλ²λ§ ν λΉ κ°λ₯
data1 = 20; // -> μ»΄νμΌ μ€λ₯
static void method(final int parameter) {
//parameter = 20; // -> μ»΄νμΌ μ€λ₯
}
}
- finalμ μ§μ λ³μμ μ€μ ν κ²½μ° μ΅μ΄ νλ²λ§ ν λΉν μ μλ€.
- λ§€κ°λ³μμ finalμ΄ λΆμΌλ©΄ λ©μλ λ΄λΆμμ λ§€κ°λ³μ κ°μ λ³κ²½ν μ μλ€. λ©μλ νΈμΆ μμ μ μ¬μ© λ κ°μ λκΉμ§ μ¬μ©λλ€.
2) final - νλ (λ©€λ² λ³μ)
public class ConstrucInit {
final int value;
static final int CONST_VALUE = 10; //μμ
public ConsturcInit(int value) {
this.value = value; //finalμ νλμ μ¬μ©ν κ²½μ° μμ±μλ₯Ό ν΅ν΄ νλ²λ§ μ΄κΈ°ν κ°λ₯
}
}
- final νλμ μ¬μ©ν κ²½μ° μμ±μλ₯Ό ν΅ν΄ ν λ² μ΄κΈ°ν ν μ μμ§λ§, finalνλλ₯Ό νλμμ μ΄κΈ°ν ν κ²½μ° μμ±μλ₯Ό ν΅ν΄μλ μ΄κΈ°ν ν μ μλ€.
- static λ³μμ fianlμ μ μΈν μ μκ³ , λ³μ μλͺ λ°©λ²μ΄ λλ¬ΈμμΈλ° μ΄λ₯Ό μμλΌκ³ νλ€.
- μμ
- λ³νμ§ μκ³ , νλμ μΌμ ν κ°μ κ°λ μλ₯Ό λ§νλ€. static finalμ λΆμΈλ€.
- λλ¬Έμλ₯Ό μ¬μ©νκ³ κ΅¬λΆμ _λ₯Ό λΆμΈλ€. (κ΄λ‘)
- νλλ₯Ό μ§μ μ κ·Όν΄μ μ¬μ©νλ€. (μμλ κ³ μ λ κ°μ μ¬μ©νλ κ²μ΄ λͺ©μ μ΄κΈ° λλ¬Έ)
- ex) PI, HOUR_IN_DAY, MINUTE_IN_HOUR λ±
μΆμ² : κΉμνμ μ€μ μλ°-κΈ°λ³ΈνΈ