
final ν€μλμ μ¬μ©
1. final λ³μ
- μ΄κΈ°ν ν κ°μ λ³κ²½ν μ μλ λ³μλ₯Ό μ μΈν λ μ¬μ©. μμμ μ μ¬ν κ°λ
final int MAX_HEIGHT = 100;
MAX_HEIGHT = 200; // μ»΄νμΌ μλ¬ λ°μ
* νμν μ΄μ
- μμ μ μΈ : μμ κ°μ μ μΈνμ¬ μ½λμ κ°λ μ±μ λμ΄κ³ μ€μλ₯Ό λ°©μ§
- 보μ λ° λ¬΄κ²°μ± : ν λ² μ΄κΈ°νλ κ°μ΄ λ³κ²½λμ§ μμμ 보μ₯νμ¬ λ°μ΄ν° λ¬΄κ²°μ± μ μ§
* finalλ‘ μ μΈνμ§ μμΌλ©΄ λ°μνλ λ¬Έμ
- μ€μν κ°μ΄ λ³κ²½λ μ μμ΄, νλ‘κ·Έλ¨μ λ‘μ§μ΄ κΉ¨μ§κ±°λ μμμΉλͺ»ν λ¬Έμ κ° λ°μν μ μλ€
2. final λ©μλ
- final λ©μλλ νμ ν΄λμ€μμ μ€λ²λΌμ΄λν μ μλ λ©μλλ₯Ό μ μν λ μ¬μ©
class Parent {
public final void display() {
System.out.println("This is a final method.");
}
}
class Child extends Parent {
public void display() { // μ»΄νμΌ μλ¬ λ°μ
System.out.println("Trying to override.");
}
}
* νμν μ΄μ
- 보μ λ° λ¬΄κ²°μ± : μ€μν λ©μλμ ꡬνμ νμ ν΄λμ€μμ λ³κ²½νμ§ λͺ»νλλ‘ λ§λλ€
- API μ€κ³ : μΈλΆμ μ 곡λλ APIμμ νΉμ λ©μλμ λμμ 보μ₯ν νμκ° μμ λ μ¬μ©
* finalλ‘ μ μΈνμ§ μμΌλ©΄ λ°μνλ λ¬Έμ
- νμ ν΄λμ€μμ λ©μλλ₯Ό μ€λ²λΌμ΄λνμ¬ μκΈ°μΉ μμ λμμ ν μ μμ
3. final ν΄λμ€
- final ν΄λμ€λ μμν μ μλ ν΄λμ€λ₯Ό μ μν λ μ¬μ©
final class ImmutableClass {
// ν΄λμ€ λ΄μ©
}
class SubClass extends ImmutableClass { // μ»΄νμΌ μλ¬ λ°μ
// μλΈν΄λμ€ λ΄μ©
}
* νμν μ΄μ
- 보μ λ° λ¬΄κ²°μ± : ν΄λμ€μ λμμ΄ λ³κ²½λμ§ μλλ‘ λ³΄μ₯
- λΆλ³ κ°μ²΄ : String ν΄λμ€μ²λΌ λΆλ³ κ°μ²΄λ₯Ό ꡬνν λ μ¬μ©
* finalλ‘ μ μΈνμ§ μμΌλ©΄ λ°μν λ¬Έμ
- ν΄λμ€κ° μμλμ΄ μλνμ§ μμ λ°©μμΌλ‘ λμμ΄ λ³κ²½λ μ μμ
final ν€μλλ μλ°μμ λ³μλ₯Ό μμλ‘ λ§λ€κ³ λ©μλμ ν΄λμ€λ₯Ό μ€λ²λΌμ΄λ λ° μμν μ μλλ‘νμ¬ νλ‘κ·Έλ¨μ μμ μ±κ³Ό μΌκ΄μ±μ μ μ§νλ λ° μ€μν μν μ νλ€. finalλ‘ μ μΈνμ§ μμΌλ©΄ μ€μν κ°μ΄λ λ©μλμ ꡬνμ΄ λ³κ²½λ κ°λ₯μ± μλ€. final ν€μλλ₯Ό μ μ ν μ¬μ©νμ¬ μ½λμ μμ μ±κ³Ό μ μ§λ³΄μμ±μ λμ΄λ κ²μ΄ μ’λ€.
'Backend > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [Java] λ¬Έμμ΄ λ€λ£¨κΈ° (0) | 2024.08.13 |
|---|---|
| [JAVA] StringBuilder μ£Όμ λ©μλ (0) | 2024.07.24 |
| [JAVA] Arrays.asList()μ List.of()μ μ°¨μ΄μ (0) | 2024.06.10 |
| [JAVA] λλ€μκ³Ό μ€νΈλ¦Ό νν° (0) | 2024.04.04 |
| [JAVA] μλ° μ»¬λ μ (Collection) νλ μμν¬ (0) | 2022.01.18 |