μ΄λ² μκ°μλ λ°λ‘ μ μ λ§ νλ λ©λͺ¨λ¦¬μ JRE, JVMμ κ΄κ³ μμ μ‘°κΈ λ κΉκ² λ€μ΄κ°μ μ€ν νλ μμ΄ μ΄λ»κ² μκΈ°κ³ μ€ν νλ μμ΄ μ΄λ€ κ³Όμ μΌλ‘ μ¬λΌμ§λ©°, static μμμλ μ΄λ€ λ°μ΄ν°κ° λ΄κΈ°λμ§ μ νν μμ보μ.
μ€ν νλ μμ μμ‘΄ κΈ°κ°
μ€ν νλ μμ μμ‘΄ κΈ°κ°μ λν΄ μ νν μμ보μ.
public class Post02 {
public static void main(String[] args) {
System.out.println("hello");
}
}
class Post03 {
void greeting(){
}
void sayHello(){
}
}
μμ κ°μ μ½λμμ λ°μ΄ν° λ©λͺ¨λ¦¬ ꡬ쑰λ₯Ό μ ννκ² κ·Έλ €λ³΄μλ©΄ static μμμλ Post02
, Post03
κ° λ΄κΈ°λ λ€μκ³Ό κ°μ κ΅¬μ‘°κ° λ κ²μ΄λ€.
κ·Όλ° μμ κ·Έλ¦Όμ νλ‘κ·Έλ¨μ΄ ν΄μλλ μκ°μ μν₯μ μ ν λ°μ§ μκ³ μμ±λμλ€. μλ? Post03
ν΄λμ€λ main()μ μ€ν νλ μ
μ΄ μ¬λΌμ§κ³ λμ μμ±λμ΄μΌ νλλ°, κ°μ΄ μκΈ° λλ¬Έμ.
κ·ΈλΌ μ΄λ₯Ό ν΅ν΄ μ μ μλ κ²μ μ€ν νλ μμ΄ μμ±λκ³ , μ’ λ£λλ κ³Όμ μ΄ μλ€λ κ².
κ·Όλ° κ·Έ κ³Όμ μ κ°μ₯ μ½κ² μ€λͺ νμλ©΄ μ€κ΄νΈκ° μμνλ λΆλΆμμ μ€ννλ μμ΄ μμ±λκ³ μ€κ΄νΈκ° λλλ λΆλΆμμ μ€ννλ μμ΄ μ’ λ£λλ€.
Stack νλ μμ λ³μκ° λ΄κΈ°λ©΄?
μ νν λ§ νλ©΄ μ°λ¦¬λ μ§κΈκΉμ§ λ°μ΄ν° μμμ λ³νμν€μ§ μμλ€. λ¨μ§ μ€ν νλ μμ μμ±κ³Ό νκΈ°μ κ³Όμ λ§ λ³΄μμ λΏ λ³μλ₯Ό ν λΉνκ±°λ ν΄μ ν μ μ΄ μκΈ° λλ¬Έμ μ΄μ μ§μ μ μΌλ‘ λ³μμ λν΄μ μμ보μ.
public class Post02 {
public static void main(String[] args) {
int intVal;
intVal = 100;
double doubeVal = 200.0;
}
}
μμ κ°μ κ³Όμ μ μμλλ‘ λ΄λ €κ°λ€ 보면
- static μμμ
Post02
κ° ν λΉλλ©° κ·Έ λ΄λΆμλmain()
λ©μλκ° μ‘΄μ¬νλ€. - 2λ²μ§Έ μ€μ΄ λμμ λ,
main()
μ€ν νλ μμ΄ μμλλ€. - 3λ²μ§Έ μ€μ΄ λμμ λ,
main()
μ€ν νλ μμintVal
μ΄λΌλ 곡κ°μ΄ ν λΉλλ€. - 5λ²μ§Έ μ€μ΄ λμμ λ,
main()
μ€ν νλ μμ μλintVal
μ΄λΌλ 곡κ°μ 100μ΄ λ΄κΈ΄λ€. - 6λ²μ§Έ μ€μ΄ λμμ λ,
main()
μ€ν νλ μμ `doubleValμ΄λΌλ 곡κ°μ΄ ν λΉλ¨κ³Ό λμκ² 200.0μ΄ λ΄κΈ°κ² λλ€.
λΈλ‘ μ€ν νλ μμ λκΉ?
μκΉ μμμ ν λ§ μ€μμ μ€κ΄νΈκ° μμνλ λΆλΆμμ μ€ννλ μμ΄ μμ±λκ³ μ€κ΄νΈκ° λλλ λΆλΆμμ μ€ννλ μμ΄ μ’ λ£λλ€. κΈ°μ΅ νλκ°?
λ©μλκ° μμλ λ μ€κ΄νΈκ° μμλκΈ°λ νμ§λ§ λ μ€κ΄νΈκ° μκΈ°λ λΆλΆμ΄ μλ€.
κ·Έλ λ€ λ°λ‘ νΉμ 쑰건μ μν΄ μνλλ 쑰건문λ μ€κ΄νΈμ λ¬Άμ΄κ² λλλ°, μ΄ κ²λ€μ μ²λ¦¬νλ κ²μ΄ λ°λ‘ λΈλ‘ μ€ν νλ μ μ΄λ€.
μμ λ₯Ό λ°λ‘ νμΈνμ.
public class Post02_BlockStackFrame {
public static void main(String[] args) {
int val01 = 10;
int val02 = 20;
if(val01 == val02) {
int sum = val01 + val02;
}else{
int minus = val01 - val02;
}
}
}
μμ κ°μ μ½λλ₯Ό μκΉμ κ°μ΄ μ½λλ₯Ό μ½λ μμμ λ°λΌ λΆλ₯ν΄λ³΄μ.
- static μμμ
Post02_BlockStackFrame
μ΄ ν λΉλλ©°, λ΄λΆμmain()
λ©μλκ° μμ±λλ€. - 2λ²μ§Έ μ€μ΄ λμμ λ, μ€ν νλ μμ
val01
μμμ΄ μκΈ°λ©° 10μ΄ ν λΉλλ€. - 3λ²μ§Έ μ€μ΄ λμμ λ, μ€ν νλ μμ
val02
μμμ΄ μκΈ°λ©° 20μ΄ ν λΉλλ€. - 5λ²μ§Έ μ€μμ μ€κ΄νΈλ₯Ό λ§λμ μλ‘μ΄ μ€ν νλ μ λΈλ
if(true)
λΈλμ μμ±λλ€. - 6λ²μ§Έ μ€μμ μλ‘μ΄ μ€ν νλ μ λΈλμ
sum
μ΄λΌλ λ³μκ° ν λΉλλ©° κ³μ° κ²°κ³Ό κ°μ΄ ν λΉλλ€. - 7~9 μ€ κΉμ§ κ°μ κ³Όμ μ΄ λ°λ³΅λλ€κ° μ€κ΄νΈκ° λλκ² λλ©΄ μ€ν νλ μ λΈλμ΄ μ¬λΌμ§λ€.
5λ²μ§Έ κΉμ§ κ²°κ³Όμ 6λ²μ§Έ κ²°κ³Όλ₯Ό κ·Έλ¦ΌμΌλ‘ λμν νλ©΄ λ€μκ³Ό κ°λ€.
μΌμͺ½μ μ΄λ€ κ²°κ³Όμ΄κ³ μ€λ₯Έμͺ½μ μ΄λ€ κ²°κ³ΌμΈμ§ λκΈλ‘ μ¨μ£ΌκΈΈ λ°λλ€. γ γ μνμ΄ μμ μλ...
κ²°κ³Όμ μΌλ‘ μ€ν νλ μμ μλ©Έμν€λ©΄ μμ€ν μ μμμ μ΄μ체μ μκ² λ°λ©νλ€.
'π Java & Kotlin & Spring > - Java & kotlin' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java μ¬ν] List 컬λ μ μμ μ°Έμ‘°λ³μμ νμ μ μ΄λ€ κ²μΌλ‘ ν΄μΌν κΉ? (1) | 2020.07.29 |
---|---|
[Java μ¬ν] Java μμ Comparableλ‘ μ λ ¬ κΈ°μ€ λ°κΎΈκΈ°. (0) | 2020.02.24 |
[Java μ¬ν] μΆμνμ λν μ¬μ€ν κ³ μ°°. (2) | 2019.12.23 |
[Java μ¬ν] JREμ JVMμ μ΄λ»κ² Java μ½λλ₯Ό μ€νμν¬κΉ? (0) | 2019.12.21 |
[Java μ¬ν] ν¬μ€ν μ μμνλ©°.. (0) | 2019.12.21 |
λκΈ