πŸ“•JAVA

[JAVA] final

λΉ™λ””μš© 2024. 4. 9. 22:58

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 λ“±

 

  

좜처 : κΉ€μ˜ν•œμ˜ μ‹€μ „ μžλ°”-기본편