π‘ Java νλ‘κ·Έλ¨μ΄ μ€νλ λ μ¬μ©λλ λ©λͺ¨λ¦¬ 곡κ°
1. Type Information
2. Runtime Constant Pool
3. Field Information
4. Method Information
5. Class Variable
βπ ν΄λμ€μ μΈν°νμ΄μ€μ μ 보
- ν¬ν¨ λ΄μ©
- νμ
μ μ΄λ¦
- νμ
μ μ’
λ₯: Class, Interface
- μ κ·Ό μ μ΄μ: public, protected, default, private
- κΈ°ν μ μ΄μ: abstract, final, statice λ±
- Classμ μ¬μ©λ Interface μ 보
βοΈ βRuntime Constant Pool
βπ μ»΄νμΌ νμμ μμ±λ μμ, λ©μλ λ° νλ μ°Έμ‘°λ₯Ό μ μ₯νλ 곡κ°
- ν¬ν¨ λ΄μ©
- 리ν°λ΄ μμ: μ«μ, λ¬Έμμ΄ λ±κ³Ό κ°μ 리ν°λ΄ κ°λ€ μ μ₯
- λ©μλ μ°Έμ‘°: λ©μλ νΈμΆμ νμν μ 보 μ μ₯
- νλ μ°Έμ‘°: νλ μ κ·Όμ νμν μ 보 μ μ₯
- ν΄λμ€ μ°Έμ‘°: λ€λ₯Έ ν΄λμ€λ μΈν°νμ΄μ€μ λν μ°Έμ‘° μ μ₯
βπ ν΄λμ€μ κ° νλ(Field) μ λν μ λ³΄κ° μ μ₯λλ 곡κ°
- ν¬ν¨ λ΄μ©
- νλ μ΄λ¦
- νλμ λ°μ΄ν° νμ: int, double, String λ±
- μ κ·Ό μ μ΄μ: public, protected, default, private
- κΈ°ν μ μ΄μ: abstract, final, statice λ±
βπ ν΄λμ€μ κ° λ©μλ(Method) μ λν μ λ³΄κ° μ μ₯λλ 곡κ°
- ν¬ν¨ λ΄μ©
- λ©μλ μ΄λ¦
- λ©μλμ λ°ν νμ: void, int, double, String λ±
- λ©μλμ νλΌλ―Έν° νμ
κ³Ό κ°μ
- μ κ·Ό μ μ΄μ: public, protected, default, private
- κΈ°ν μ μ΄μ: static, final, synchronized, native, abstract λ±
- λ©μλμ λ°μ΄νΈμ½λ: λ©μλμ μ€μ μ€ν μ½λκ° μ μ₯
βοΈ βClass Variable
βπ ν΄λμ€ λ³μ(static λ³μ) κ° μ μ₯λλ 곡κ°
- ν¬ν¨ λ΄μ©
- νΉμ§
- ν΄λμ€ λ‘λ μμ μ λ©λͺ¨λ¦¬μ ν λΉλμ΄, ν΄λμ€κ° μΈλ‘λλ λκΉμ§ μ μ§λ©λλ€.
- λͺ¨λ μΈμ€ν΄μ€κ° 곡μ νλ λ³μλ‘, ν΄λμ€μ μΈμ€ν΄μ€ μμ΄ ν΄λμ€ μ΄λ¦μΌλ‘ μ κ·Ό κ°λ₯