[Java] μ κ·Ό μ μ΄μ(public, protected, default, private)μ λν΄
by rlaehddnd0422ν΄λμ€μ λ©€λ²μΈ μΈμ€ν΄μ€ λ³μ, λ©μλμ λν μ κ·Ό κΆνμ μ§μ νλ 4κ°μ§ μ κ·Ό μ μ΄μμ λν΄ μμλ΄ μλ€.
μ ν리μΌμ΄μ μ λ³Όλ₯¨μ΄ 컀μ§μλ‘, λ¬Έμ κ° μκΈΈ νλ₯ λ λμμ§λλ€. λΉλ²ν λ°μλλ λ¬Έμ λ‘λ κ°μ²΄λ₯Ό μ¬μ©νλ μ μ₯μμ κ°μ²΄ λ΄λΆμ μΌλ‘ μ¬μ©λλ λ³μλ λ©μλμ μ κ·Όν¨μΌλ‘μ¨ κ°λ°μκ° μλνμ§ λͺ»ν μ€λμμ μΌμΌν€λ λ¬Έμ κ° μμ΅λλ€. λν κ°μ²΄κ° λ΄λΆμ μΌλ‘ κ°μ§λ κ°μ²΄μ λ‘μ§μ 보νΈνκΈ° μν΄μλ μΈλΆμ μ κ·Όμ νμ©νκ±°λ μ°¨λ¨ν΄μΌ ν νμκ° μκΉλλ€.
μ κ·Ό μ μ΄μλ₯Ό μ¬μ©νλ μ΄μ
μ κ·Ό μ μ΄μλ μμ μμ ν λ¬Έμ μ κ°μ΄ μλμΉ μμ μ€μλ‘ μΈν λμμ μ€μ΄κ³ κ°μ²΄κ° κ°μ§λ μ 보μ λν μ κ·Όμ λ§λ μλμ λͺ©μ μΌλ‘ μ¬μ©λ©λλ€.
μλ°μλ 4κ°μ§ μ κ·Ό μ μ΄μκ° μμ΅λλ€. public, protected, default, private
- public : μ΄λ κ³³μμλ μ κ·Ό κ°λ₯, μ¦ μ κ·Ό μ μ½μ΄ X
- protected : λμΌ ν¨ν€μ§ λ΄μ μ‘΄μ¬νκ±°λ, ν΄λΉ ν΄λμ€λ₯Ό μμλ°μ μΈλΆ ν¨ν€μ§μ ν΄λμ€μμ μ κ·Όμ΄ κ°λ₯ν©λλ€.
- ν΄λΉ ν΄λμ€λ₯Ό μμλ°μ§ μμ μΈλΆ ν¨ν€μ§μ ν΄λμ€μμλ μ κ·Όμ΄ λΆκ°λ₯
- default : μλ¬΄λ° μ κ·Ό μ νμλ₯Ό λͺ
μνμ§ μμΌλ©΄ defaultλ‘ μ€μ λλλ°, μ΄λ μ΅λ λμΌν ν¨ν€μ§ λ΄μμλ§ μ κ·Ό κ°λ₯ν©λλ€.
- λ€λ₯Έ ν¨ν€μ§μμλ μ κ·Ό λΆκ°
- private : μκΈ° μμ μ ν΄λμ€ λ΄μμλ§ μ κ·Ό κ°λ₯
- μ€λ‘μ§ κ°μ ν΄λμ€μμλ§ μ κ·Όμ΄ κ°λ₯
μ κ·Ό μ μ΄μ μ¬μ© λ²μ
- ν΄λμ€ : public, defaultλ§ μ€μ κ°λ₯
- λ©μλ : λͺ¨λ μ κ·Όμ μ΄μ μ¬μ© κ°λ₯
- μΈμ€ν΄μ€ λ³μ : λͺ¨λ μ κ·Όμ μ΄μ μ¬μ© κ°λ₯
- μ§μ λ³μ : μ¬μ© λΆκ°
ν΄λμ€μμ public defaultλ§ μ€μ κ°λ₯ν μ΄μ
- μ°μ privateλ‘ ν΄λμ€λ₯Ό μμ±ν΄λ΄€μ
(μμ±ν μ μμ§λ§)μΈμ€ν΄μ€ μμ±μ΄ λΆκ°λ₯ν©λλ€. - protected μ κ·Ό μ μ΄μλ μ£Όλ‘ μμ ν΄λμ€μ λ©€λ²λ₯Ό νμ ν΄λμ€μμ μ¬μ¬μ©/νμ₯νκΈ° μν΄ μ¬μ©λλλ°, ν΄λμ€ μ체λ₯Ό protectedλ‘ μ μΈν΄λ²λ¦¬λ©΄ λ€λ₯Έ ν΄λμ€κ° ν΄λΉ ν΄λμ€λ₯Ό extends ν€μλ μμ΄ μμν μ μλ€λ μ μμ κ°μ²΄ μ§ν₯ λͺ©μ κ³Ό μ΄κΈλ©λλ€.
- λν
ν¨μ λ΄μμ μ μΈλλ λ³μμΈ μ§μλ³μμλ μμ κ°μ μ κ·Ό μ μ΄μλ₯Ό μ§μ ν μ μμ΅λλ€.
- ν΄λΉ λΈλ‘ λ΄μμλ§ μ ν¨ν μ§μλ³μλ μ΄μ°¨νΌ λ€λ₯Έ λ©μλλ ν΄λμ€μμ μ κ·Όν μ μκΈ° λλ¬Έμ μ κ·Ό μ μ΄μλ₯Ό μ§μ νλ κ²μ΄ 무μλ―Ένλ€κ³ λ³Ό μ μμ΅λλ€.
- μ§μ λ³μλ μ΄μ°¨νΌ ν΄λΉ λΈλ‘μ μ€νμ΄ λλλ©΄ μ¬λΌμ§κΈ° λλ¬Έμ μ κ·Ό μ μ΄μλ₯Ό μ€μ νλ€ ν΄λ ν΄λΉ λ³μμ μ κ·Όν μ μλ μμ μμ μλ©Ένλ―λ‘ μ€μ νλ κ²μ΄ μλ―Έκ° μμ΅λλ€.
<μ°Έκ³ μλ£>
'π Backend > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] String Constant poolκ³Ό Heap μμμ λν΄ (0) | 2023.09.26 |
---|---|
[Java] μΆμ ν΄λμ€(abstract class)μ λν΄ (2) | 2023.09.26 |
[Java] thisμ this()μ λν΄ (0) | 2023.09.25 |
[Java] static variable, static methodμ λν΄ (0) | 2023.09.22 |
[Java] κ°μ²΄(Object)μ ν΄λμ€(Class)μ λν΄ (0) | 2023.09.22 |
λΈλ‘κ·Έμ μ 보
Study Repository
rlaehddnd0422