| λ³μ
μλ°μμ λ³μλ ν΄λμ€λ³μ, μΈμ€ν΄μ€λ³μ, μ§μλ³μ μ΄λ κ² 3κ°μ§ μ’ λ₯κ° μλ€.
λ³μμ μ’ λ₯λ₯Ό κ²°μ νλ μ€μν μμλ 'λ³μμ μ μΈλ μμΉ'μ΄λ€.
λ©€λ²λ³μλ₯Ό μ μΈν κ²μ λͺ¨λ μ§μλ³μ,
λ©€λ²λ³μ μ€ static μ΄ λΆμ κ²μ ν΄λμ€λ³μ,
λ©€λ²λ³μ μ€ static μ΄ λΆμ§ μμ κ²μ μΈμ€ν΄μ€ λ³μμ΄λ€.
γ λ³μμ μ’ λ₯
iv μ cv λ ν΄λμ€ μμμ μ μΈ λμ΄μκΈ° λλ¬Έμ λ©€λ²λ³μμ΄λ€.
cv λ static μ΄ λΆμ΄μκΈ° λλ¬Έμ ν΄λμ€λ³μμ΄κ³ ,
iv λ static μ΄ λΆμ΄μμ§ μκΈ° λλ¬Έμ μΈμ€ν΄μ€λ³μμ΄λ€.
lvλ λ©μλ μμμ μ μΈλμ΄ μκΈ° λλ¬Έμ μ§μλ³μμ΄λ€.
- μΈμ€ν΄μ€λ³μ (instance variable)
μΈμ€ν΄μ€λ³μλ λ 립μ μΈ μ μ₯곡κ°μ κ°μ§κΈ° λλ¬Έμ μλ‘ λ€λ₯Έ κ°μ κ°μ§ μ μλ€.
μΈμ€ν΄μ€λ§λ€ κ³ μ ν μνλ₯Ό μ μ§ν΄μΌν κ²½μ°, μΈμ€ν΄μ€λ³μλ‘ μ μΈνλ€.
- ν΄λμ€λ³μ (class variable)
ν΄λμ€λ³μλ λͺ¨λ μΈμ€ν΄μ€κ° 곡ν΅λ μ μ₯곡κ°μ κ°μ§λ€.
ν ν΄λμ€μ λͺ¨λ μΈμ€ν΄μ€λ€μ΄ 곡ν΅μ μΈ κ°μ μ μ§ν΄μΌνλ κ²½μ°, ν΄λμ€λ³μλ‘ μ μΈνλ€.
- μ§μλ³μ (local variable)
λ©μλ λ΄μ μ μΈλμ΄ λ©μλ λ΄μμλ§ μ¬μ©κ°λ₯νκ³ , λ©μλκ° μ’ λ£λλ©΄ μ¬μ©ν μ μλ€.
for/while λ¬Έ λ΄μ μ μΈλλ©΄, μ μΈλ λΈλ{ } λ΄μμλ§ μ¬μ©κ°λ₯νλ€.
| λ©μλ
cμΈμ΄μμμ ν¨μμ λΉμ·ν κ°λ μ΄λ€.
λ©μλμ μ₯μ μ
- λμ μ¬μ¬μ©μ±
- μ€λ³΅λ μ½λμ μ κ±°
- νλ‘κ·Έλ¨μ ꡬ쑰ν μ΄λ€.
λνκΈ° λ©μλ
μμ²λΌ λ©μλλ₯Ό μ μΈνλ€λ©΄, int ans = add ( 1, 2 ) ; μ κ°μ΄ λ©μλλ₯Ό νΈμΆν μ μλ€.
| JVMμ λ©λͺ¨λ¦¬ ꡬ쑰
JVM μ λ©λͺ¨λ¦¬ ꡬ쑰
λ©μλ μμ
- νλ‘κ·Έλ¨ μ€ν μ€μ μ΄λ€ ν΄λμ€κ° μ¬μ©λλ©΄, JVMμ ν΄λΉ ν΄λμ€μ ν΄λμ€νμΌμ μ½κ³ ν΄λμ€ λ°μ΄ν°λ₯Ό λ©μλμμμ μ μ₯νλ€. ν΄λμ€μ ν΄λμ€λ³μκ° λ©μλμμμμ μμ±λλ€.
νΈμΆμ€ν
- νΈμΆμ€νμ λ©μλμ μμ μ νμν λ©λͺ¨λ¦¬ 곡κ°μ μ 곡νλ€. λ©μλκ° νΈμΆλλ©΄, νΈμΆμ€νμ νΈμΆλ λ©μλλ₯Ό μν λ©λͺ¨λ¦¬κ° ν λΉλκ³ , μ΄ λ©λͺ¨λ¦¬λ λ©μλκ° μμ μ μννλ λμ μ§μλ³μλ€κ³Ό μ°μ°μ μ€κ°κ²°κ³Ό λ±μ μ μ₯νλλ° μ¬μ©λλ€. λ©μλκ° μμ μ λ§μΉλ©΄ ν λΉλμλ λ©λͺ¨λ¦¬ 곡κ°μ λ°νλμ΄ λΉμμ§λ€.
ν
- μΈμ€ν΄μ€κ° μμ±λλ 곡κ°μ΄λ€. μΈμ€ν΄μ€λ³μκ° νμμ μμ±λλ€.
λ©μλκ° νΈμΆλλ©΄ μνμ νμν λ§νΌμ λ©λͺ¨λ¦¬λ₯Ό μ€νμ ν λΉλ°λλ€.
λ©μλκ° μνμ λ§μΉκ³ λλ©΄ λ©λͺ¨λ¦¬λ₯Ό λ°ννκ³ , μ€νμμ μ κ±°λλ€.
νΈνμ€νμ κ°μ₯ μμ μλ λ©μλκ° νμ¬ μ€ν μ€μΈ λ©μλμ΄λ€.
μλμ μλ λ©μλκ° λ°λ‘ μμ λ©μλλ₯Ό νΈμΆν λ©μλμ΄λ€.
| ν΄λμ€ λ©μλμ μΈμ€ν΄μ€ λ©μλ
- ν΄λμ€λ₯Ό μ€κ³ν λ, λ©€λ²λ³μ μ€ λͺ¨λ μΈμ€ν΄μ€μ 곡ν΅μΌλ‘ μ¬μ©νλ κ²μλ static μ λΆμΈλ€.
- ν΄λμ€ λ³μ(static λ³μ)λ μΈμ€ν΄μ€λ₯Ό μμ±νμ§ μμλ μ¬μ©ν μ μλ€.
- ν΄λμ€ λ©μλ(static λ©μλ)λ μΈμ€ν΄μ€ λ³μλ₯Ό μ¬μ©ν μ μλ€.
- λ©μλ λ΄μμ μΈμ€ν΄μ€ λ³μλ₯Ό μ¬μ©νμ§ μλλ€λ©΄, static μ λΆμ΄λ κ²μ κ³ λ €νλ€.
β· ν΄λμ€μ λ©€λ²λ³μ μ€ λͺ¨λ μΈμ€ν΄μ€μ 곡ν΅λ κ°μ μ μ§ν΄μΌνλ κ²μ΄ μλμ§ λ³΄κ³ , μλ€λ©΄ static μ λΆμΈλ€.
β· μμ±ν λ©μλ μ€μμ μΈμ€ν΄μ€ λ³μλ μΈμ€ν΄μ€ λ©μλλ₯Ό μ¬μ©νμ§ μλ λ©μλμ static λΆμΈλ€.
λ³μμ μ’ λ₯ | μ μΈμμΉ | μμ±μκΈ° |
---|---|---|
ν΄λμ€λ³μ | ν΄λμ€ μμ | ν΄λμ€κ° λ©λͺ¨λ¦¬μ μ¬λΌκ° λ |
μΈμ€ν΄μ€λ³μ | μΈμ€ν΄μ€κ° μμ±λμμ λ | |
μ§μλ³μ | ν΄λμ€ μμ μ΄μΈμ μμ(λ©μλ , μμ±μ. μ΄κΈ°ν λΈλ λ΄λΆ) | λ³μ μ μΈλ¬Έμ΄ μνλμμ λ |