‡πŸ‘©‍πŸ’» ‡/º Java

[Java] final μƒμˆ˜ ν‚€μ›Œλ“œ

Trudy | 솑연 2023. 11. 24. 16:01

λ³€μˆ˜, μƒμˆ˜

μˆ˜λŠ” λ³€μˆ˜μ™€ μƒμˆ˜λ‘œ λ‚˜λ‰˜λŠ” 데,

λ³€μˆ˜λŠ” λ³€ν•˜λŠ” 수둜 가변적이닀.

μƒμˆ˜λŠ” λ³€ν•˜μ§€ μ•ŠλŠ” 수둜, Javaμ—μ„œλŠ” λ³€μˆ˜ μ•žμ— final ν‚€μ›Œλ“œλ₯Ό λΆ™μ—¬ μƒνƒœκ°€ λ³€ν•˜μ§€ μ•Šλ„λ‘ 보μž₯ν•œλ‹€. 

 

μƒμˆ˜ μ„ μ–Έ λ°μ΄ˆκΈ°ν™”

       //보톡 λ³€ν•˜μ§€ μ•ŠλŠ” 수이기 λ•Œλ¬Έμ— λ³€μˆ˜μ΄μ§€λ§Œ λŒ€λ¬Έμžλ‘œ 함
        final int MAX = 10;

	//값을 λ³€ν•˜κ²Œ ν•˜λ €κ³  해도 λ³€ν•˜μ§€ μ•ŠμŒ
        // MAX = 20;

 

ν”„λ‘œκ·Έλž˜λ°μ—μ„œ μƒμˆ˜μ˜ μš©λ„

μƒμˆ˜λŠ” 보톡 ν”„λ‘œμ νŠΈ μ•ˆμ—  Constants λΌλŠ” μƒμˆ˜ 클래슀λ₯Ό λ§Œλ“€μ–΄μ„œ μƒμˆ˜λ“€μ„ λͺ¨λ‘ μ„ μ–Έν•΄ λ†“λŠ”λ‹€. 

λ³€ν•˜μ§€ μ•ŠλŠ” μ˜€νƒ€κ°€ λ‚˜κΈ° μ‰½κ±°λ‚˜ κΈ΄ μ €μž₯κ°’(μ •μˆ˜, String, ...) 을 μ €μž₯ν•΄ λ†“μœΌλ©΄ 볡뢙을 μ•ˆν•΄λ„ 되고, μ˜€νƒ€ λ“±μ˜ μž”μ‹€μˆ˜λ₯Ό 막을 수 있고, νŽΈν•˜κ²Œ λ³€μˆ˜λ‘œ 값을 λΆˆλŸ¬μ˜€κΈ°κ°€ κ°€λŠ₯ν•˜λ‹€. 

 

ex) Constants 파일 내에 λ‹€μŒκ³Ό 같이 μƒμˆ˜λ“€μ„ λͺ¨μ•„μ„œ 정리해 λ†“μŒ

        final int MAX = 100000000;
        final String url = "https://xoxoxoxox.tistory.com/";

μ‚¬μš©ν• λ•ŒλŠ” Constantsλ₯Ό import ν•΄μ„œ MAX, url 둜 λ°”λ‘œ μ ‘κ·Όν•œλ‹€. 

 

μ΄μ™Έμ˜ μš©λ„

final class

class μ•žμ— final ν‚€μ›Œλ“œλ₯Ό 달아주면 λ‹€λ₯Έ ν΄λž˜μŠ€κ°€ final 클래슀λ₯Ό 상속할 수 μ—†κ²Œ λ§Œλ“€μ–΄μ€€λ‹€.

 

final λ©”μ†Œλ“œ

λ©”μ†Œλ“œ μ•žμ— final ν‚€μ›Œλ“œλ₯Ό 달아주면 ν•΄λ‹Ή 클래슀λ₯Ό μƒμ†ν•œ λ‹€λ₯Έ ν΄λž˜μŠ€μ—μ„œ final λ§€μ†Œλ“œλ₯Ό Overrideν•  수 μ—†κ²Œ λ§Œλ“€μ–΄μ€€λ‹€.