π» ν¨ν€μ§λ?
λ§μ ν΄λμ€λ€μ 체κ³μ μΌλ‘ κ΄λ¦¬νκΈ° μν λꡬμ΄λ€.
ν΄λμ€λ€μ΄ λ§μμ§κ³ νλ‘κ·Έλ¨μ΄ 컀μ§μλ‘ κ°μ μ΄λ¦μ ν΄λμ€κ° μ‘΄μ¬ν κ°λ₯μ±μ΄ μλ€.
μ΄λ μ΄λ₯Ό λ°©μ§νκΈ° μν΄μ μ¬μ©νλ namespaceμ κ°λ
μ΄ packageμ΄λ€.
π namespace
namespaceλ νλ‘κ·Έλ¨μμ μλ‘ λ€λ₯Έ μλ³μ(λ³μ,ν¨μν΄λμ€ λ±μ μ΄λ¦) κ°μ μΆ©λμ λ§κΈ°μν λꡬμ΄λ€.
Strμ΄λΌλ ν΄λμ€λ₯Ό 2κ° λ§λ€μλ€κ³ ν΄λ³΄μ.
μ΄λ Str ꡬλΆνκΈ° μν΄μ κ°μ λ€λ₯Έ namespaceμ λ£μ΄μ€μΌλ‘ κ° Strμ μΆ©λμ λ§κ³
λ€λ₯Έ μ‘΄μ¬λΌλ κ²μ μλ €μ€λ€.
π μλ°μμλ?
μλ°μμλ packageλ₯Ό μ¬μ©νλ€.
packageλ νμΌ μ£Όμμ λκ°μ΄ μ€μ μ ν΄μΌνλ€.
μλ₯Ό λ€μ΄ study_java/c μ hi.java λΌλ μλ° νμΌμ΄ μλ€λ©΄
ν¨ν€μ§λ package study_java.c; λΌκ³ μ μΈλμ΄μΌνλ€.
λν importλ₯Ό ν΅ν΄ λ€λ₯Έ μλ° νμΌμ μ‘΄μ¬νλ ν΄λμ€λ₯Ό λΆλ¬μ¬μμλ€.
packageμμ μΌλ μ£Όμ κ·Έλλ‘ μμ±ν λ§μ§λ§μ μ΄λ€ μλ° νμΌμ μνλμ§λ§ μ°λ©΄ λλ€.
import ν¨ν€μ§.κ²½λ‘.μλ°νμΌμ΄λ¦; (.javaλ λΆμ΄μ§ μλλ€.)
λ§μ½ ν΄λΉ ν¨ν€μ§μ μλ λͺ¨λ μλ° νμΌμ μνλ€λ©΄
import ν¨ν€μ§.κ²½λ‘.*;μ ν΄μ£Όλ©΄ λλ€.
π» μ κ·Όμ μ΄μ
μ κ·Ό μ μ΄μλ ν΄λμ€,λ³μ,맀μλ λ±μ μ κ·Όμ μ μ΄νλ μν μ νλ€.
μ΄ 4κ°μ§κ° μ‘΄μ¬νλ€.
1.public
- λꡬλ μ¬μ©κ°λ₯
2.protected
- μμλ°μ ν΄λμ€ + κ°μ ν¨ν€μ§μμ μλ κ²½μ°μλ§ μ¬μ©κ°λ₯
3.(package private)
- κ°μ ν¨ν€μ§ μμ μλ κ²½μ°μλ§ μ¬μ©κ°λ₯,
μμ μ무κ²λ μλΆμ΄λ©΄ μλμΌλ‘ (package private)
4.private
- λμΌ ν΄λμ€ λ΄μμλ§ μ¬μ©κ°λ₯