2022. 3. 30. 16:42γJAVA/μλ°μ μ μ
μ½λ©ν μ€νΈ λ¬Έμ λ₯Ό νλ©΄μ λ μλ°μ 'μ'λ λͺ¨λ₯Έλ€κ³ μκ°μ΄ λ€μκ³ , 곡λΆμ νμμ±μ λκΌλ€..
κ·Έλ¦¬κ³ μ μ μΌμλ‘ κΈ°λ³ΈκΈ°κ° νννκ² μ’μ§μμκΉ μΆμ΄μ λ€μνλ² λ³΅μ΅λ νκ³ , λ΄κ° μμ§λ§ μ λλ‘ μ¬μ©νμ§ λͺ»νλ Streamκ³Ό λλ€, μ§λ€λ¦ λ± λ μ λλ‘ μκΈ° μν΄μ μΌλ¨ μμν΄λ³΄λ €κ³ νλ€.
ν΄κ·Όνκ³ νλ €λκΉ μκ°μ κ½€λ κ±Έλ¦΄κ² κ°μλ° ν¬κΈ°λ§ μνλ©΄ λλ€κ³ μκ°νλ€..!
μλ¬΄νΌ μλ° κ³΅λΆ μμ π
1οΈβ£ μλ°λ? Java Programming Language
λλ¦ μ»΄κ³΅μ μ‘Έμ νκ³ μ μλ°λ? μ΄λ¬κ³ μμΌλκΉ μμ§ν λΆλλ½λ€..
νμ§λ§ μ΄μ μμνκ±° μλ°λ?λΆν° μμνλ©΄ μ΄λ νκ°?
λ°°μμλ λΆλλ¬μμ΄ μλ€νλ€.
μλ°λ μ¬ λ§μ΄ν¬λ‘ μμ€ν μ¦μμ κ°λ°νμ¬ 1996λ 1μμ 곡μμ μΌλ‘ λ°νν κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° μΈμ΄μ΄λ€.
μλ°μ κ°μ₯ μ€μν νΉμ§μ μ΄μ체μ μ λ 립μ μ΄λΌλ κ²μ΄λ€.
μλ°λ‘ μμ±λ νλ‘κ·Έλ¨μ μ΄μ체μ μ μ’ λ₯μ κ΄κ³μμ΄ μ€νμ΄ κ°λ₯νκΈ° λλ¬Έμ μ΄μ체μ μ λ°λΌ νλ‘κ·Έλ¨μ μ ν λ³κ²½νμ§ μκ³ λ μ€νμ΄ κ°λ₯νλ€.
μ΄λ¬ν μ₯μ μΌλ‘ μΈν΄ μλ°λ λ€μν κΈ°μ’ μ μ»΄ν¨ν°μ μ΄μ체μ κ° κ³΅μ‘΄νλ μΈν°λ· νκ²½μ μ ν©ν μΈμ΄λ‘μ¨ μΈν°λ·μ λ°μ κ³Ό ν¨κ» λ§μ μ¬μ©μμΈ΅μ ν보ν μ μμλ€.
2οΈβ£ μλ°μΈμ΄μ νΉμ§
- μ΄μ체μ μ λ 립μ μ΄λ€.
μλ° μμ©νλ‘κ·Έλ¨μ μ΄μ체μ λ νλμ¨μ΄κ° μλ JVMνκ³ λ§ ν΅μ νκ³ JVMμ΄ μλ° μμ©νλ‘κ·Έλ¨μΌλ‘λΆν° μ λ¬λ°μ λͺ λ Ήμ ν΄λΉ μ΄μ체μ κ° μ΄ν΄ν μ μλλ‘ λ³ννμ¬ μ λ¬νλ€.
- κ°μ²΄μ§ν₯μΈμ΄μ΄λ€.
μμ, μΊ‘μν, λ€νμ±μ΄ μ μ μ©λ μμν κ°μ²΄μ§ν₯ μΈμ΄μ΄λ€.
- λΉκ΅μ λ°°μ°κΈ° μ½λ€.
- μλ λ©λͺ¨λ¦¬ κ΄λ¦¬ Garbage Collection
μλ°λ‘ μμ±λ νλ‘κ·Έλ¨μ΄ μ€νλλ©΄ κ°λΉμ§ 컬λ ν°κ° μλμ μΌλ‘ λ©λͺ¨λ¦¬λ₯Ό κ΄λ¦¬ν΄μ£ΌκΈ° λλ¬Έμ νλ‘κ·Έλλ¨Έλ λ©λͺ¨λ¦¬λ₯Ό λ°λ‘ κ΄λ¦¬νμ§ μμλ λλ€.
- λ€νΈμν¬μ λΆμ°μ²λ¦¬λ₯Ό μ§μνλ€.
- λ©ν°μ°λ λλ₯Ό μ§μνλ€.
- λμ λ‘λ©μ μ§μνλ€.
μλ°λ λμ λ‘λ©μ μ§μνκΈ° λλ¬Έμ μ€ν μμ λͺ¨λ ν΄λμ€κ° λ‘λ©λμ§ μκ³ νμν μμ μ ν΄λμ€λ₯Ό λ‘λ©νμ¬ μ¬μ©ν μ μλ€λ μ₯μ μ΄ μλ€.
3οΈβ£ JVM(Java Virtual Machine)
JVMμ Java Virtual MachineμΌλ‘ μλ°λ₯Ό μ€ννκΈ° μν κ°μκΈ°κ³λΌκ³ ν μ μλ€.
μλ°λ‘ μμ±λ μ ν리μΌμ΄μ μ λͺ¨λ μ΄ κ°μ μ»΄ν¨ν°(JVM)μμλ§ μ€νλκΈ° λλ¬Έμ μλ° μ ν리μΌμ΄μ μ΄ μ€νλκΈ° μν΄μλ JVMμ΄ λ°λμ νμνλ€.
Java μ ν리μΌμ΄μ μ JVMνκ³ λ§ μνΈμμ©νκΈ° λλ¬Έμ OSμ νλμ¨μ΄μ λ 립μ μ΄λΌ λ€λ₯Έ OSμμλ νλ‘κ·Έλ¨μ λ³κ²½μμ΄ μ€νμ΄ κ°λ₯νλ€.
κ·Όλ° JVMμ΄ OSμ μ’ μμ μ΄κΈ° λλ¬Έμ ν΄λΉ OSμμ μ€νκ°λ₯ν JVMμ΄ νμνλ€.
4οΈβ£ JDK (Java Development Kit)
μλ°λ‘ νλ‘κ·Έλλ°μ νκΈ° μν΄μλ λ¨Όμ JDKλ₯Ό μ€μΉν΄μνλ€.
JDKλ‘ μ€μΉνλ©΄, μλ°κ°μλ¨Έμ JVMκ³Ό μλ° ν΄λμ€ λΌμ΄λΈλ¬λ¦¬μΈμ μλ°λ₯Ό κ°λ°νλλ° νμν νλ‘κ·Έλ¨λ€μ΄ μ€μΉλλ€.
JDK μ€μΉκ° λλλ©΄ μ€μΉλ λλ ν 리μ bin λλ ν 리λ₯Ό pathμ μΆκ°ν΄μ€μΌνλ€.
μ΄ λλ ν 리μλ μλ°λ‘ νλ‘κ·Έλ¨μ κ°λ°νλλ° νμν μ€ννμΌλ€μ΄ λ€μ΄μλ€.
pathλ OSκ° νμΌμ μμΉλ₯Ό νμ νλλ° μ¬μ©νλ κ²½λ‘λ‘ pathμ λλ ν 리λ₯Ό λ±λ‘νλ©΄ ν΄λΉ λλ ν 리μ ν¬ν¨λ νμΌμ νμΌ κ²½λ‘μμ΄ νμΌ μ΄λ¦λ§μΌλ‘λ μ¬μ©ν μ μκ² νλ€.
bin λλ ν 리μ μλ μ€ννμΌ
-> javac.exe : μλ° μ»΄νμΌλ¬, μλ° μμ€μ½λλ₯Ό λ°μ΄νΈμ½λλ‘ μ»΄νμΌνλ€.
java.exe : μλ° μΈν°ν리ν°, μ»΄νμΌλ¬κ° μμ±ν λ°μ΄νΈμ½λλ₯Ό ν΄μνκ³ μ€ννλ€.
javap.exe : μμ΄μ λΈλ¬, μ»΄νμΌλ ν΄λμ€νμΌμ μλμ μμ€λ‘ λ³ννλ€.
jar.exe : μμΆ νλ‘κ·Έλ¨, ν΄λμ€νμΌκ³Ό νλ‘κ·Έλ¨μ μ€νμ κ΄λ ¨λ νμΌμ νλμ jarνμΌλ‘ μμΆνκ±°λ μμΆν΄μ νλ€.
5οΈβ£ μλ°λ‘ νλ‘κ·Έλ¨ μμ±νκΈ°
Hello.java -> javac.exe μ»΄νμΌ -> Hello.class μμ± -> java.exe μ€ν -> "Hello World" μΆλ ₯
μλ° μ»΄νμΌλ¬ javac.exeλ₯Ό μ¬μ©ν΄μ μμ€νμΌ Hello.javaλ‘ λΆν° ν΄λμ€νμΌ Hello.classλ₯Ό μμ±ν΄μΌνλ€.
κ·Έ λ€μμ μλ° μΈν°νλ¦¬ν° java.exeλ‘ μ€ννλ€.
'JAVA > μλ°μ μ μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JAVA] 7. λ°λ³΅λ¬Έ (0) | 2022.04.06 |
---|---|
[JAVA] 6. 쑰건문 (0) | 2022.04.05 |
[JAVA] 4. μ°μ°μoperator (0) | 2022.04.04 |
[JAVA] 3. μ§λ² (0) | 2022.04.01 |
[JAVA] 2. λ³μ (Variable) (0) | 2022.03.31 |