π¨ μ κ·Ό μ νμ(Access Modifier)λ?
: ν΄λμ€ λ° μΈν°νμ΄μ€ κ·Έλ¦¬κ³ μ΄λ€μ΄ κ°μ§κ³ μλ λ©€λ²μ μ κ·Όμ μ ννκΈ° μν μν μ νλ λ μ
π¨ μ κ·Ό μ νμλ₯Ό μ μ¨μΌνλκ°?
: μΈλΆλ‘λΆν° λ°μ΄ν°λ₯Ό 보νΈνκΈ° μν¨μ΄λ©° μΈλΆμλ λΆνμν, λ΄λΆμ μΌλ‘λ§ μ¬μ©λλ λΆλΆμ κ°μΆκΈ° μν΄μμ΄λ€.
μ¦, μ 보 μλ(data hiding)μ μν΄μλΌκ³ λ³Ό μ μλ€.
βμ 보 μλ(data hiding)
: μ¬μ©μκ° κ΅³μ΄ μ νμκ° μλ μ 보λ μ¬μ©μλ‘λΆν° μ¨κ²¨μΌ νλ€λ κ°λ μ΄λ€.
π¨ μ κ·Ό μ νμμ μ’ λ₯
: JAVAμλ Private, Default, Protected, Public μ΄ 4κ°μ§μ μ κ·Ό μ νμκ° μλ€.
1. Private
: ν΄λμ€ λ΄λΆμμλ§ μ¬μ© κ°λ₯νλ©°, μΈλΆμμλ μ κ·Ό ν μ μλ€.
2. Default
: κ°μ ν¨ν€μ§ λ΄μμλ μ¬μ© κ°λ₯νμ§λ§, μΈλΆ ν¨ν€μ§μμλ μ κ·Ό ν μ μλ€.
μ κ·Όμ νμμ μμ€μ μ€μ νμ§μμΌλ©΄, κΈ°λ³Έμ μΌλ‘λ Defaultλ‘ μ μ©λλ€.
3. Protected
: κ°μ ν¨ν€μ§ λ΄μμ μ¬μ© κ°λ₯νλ©°, λ€λ₯Έ ν¨ν€μ§λ μμκ΄κ³(λΆλͺ¨ν΄λμ€ / μμν΄λμ€) μΈ κ²½μ°μ κ°λ₯νλ€.
4. Public
: λͺ¨λ ν¨ν€μ§μμ μ무 μ νμμ΄ μ΄λμλ μ κ·Ό κ°λ₯νλ€.
→ Private < Default < Protected < PublicμμΌλ‘ λ²μκ° ν¬λ©°, μ κ·Όμ νμλ€μ νλ‘ μ 리νλ©΄ λ€μκ³Ό κ°λ€.
μ κ·Ό μ νμ | μ μ© λμ | ν΄λμ€ λ΄λΆ | λμΌ ν¨ν€μ§ | μμ | λ€λ₯Έ ν΄λμ€ |
Private | νλ, μμ±μ, λ©μλ | μ κ·Ό O | μ κ·Ό X | μ κ·Ό X | μ κ·Ό X |
Default | ν΄λμ€, νλ, μμ±μ, λ©μλ | μ κ·Ό O | μ κ·Ό O | μ κ·Ό X | μ κ·Ό X |
Protected | νλ, μμ±μ, λ©μλ | μ κ·Ό O | μ κ·Ό O | μ κ·Ό O | μ κ·Ό X |
Public | ν΄λμ€, νλ, μμ±μ, λ©μλ | μ κ·Ό O | μ κ·Ό O | μ κ·Ό O | μ κ·Ό O |
'CS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[CS] JAVAλ 무μμΌκΉ / JAVAμ νΉμ§ (0) | 2023.03.12 |
---|