π λͺ μ λ‘ λ€μ보λ μλ°μ λ©λͺ¨λ¦¬ μ΄μΌκΈ° 1νΈ
λμ
μ’μ μ€λ ₯μ κ°μΆ κ°λ°μκ° λκΈ° μν΄μ λ¨μν μκΈ°μ μ½λκ° λμκ°λ€ λΏ μλλΌ μμ μ μ½λκ° μ»΄ν¨ν° λ΄λΆμμ μ΄λ»κ² λμνλμ§λ₯Ό μ΄ν΄ν΄μΌ ν©λλ€. λ³Έ κΈμ κ°λ¨ν JAVA μ½λκ° λ©λͺ¨λ¦¬μμ μ΄λ»κ² λμνλμ§ μ΄ν΄λ³Ό κ²μ λλ€.
main() λ©μλμ T λ©λͺ¨λ¦¬
- Tλ©λͺ¨λ¦¬λ μμ κ°μ ꡬ쑰μ λλ€.
- JREλ νλ‘κ·Έλ¨ μμ main() λ©μλκ° μλμ§ νμΈν©λλ€.
- main() λ©μλλ₯΄ νμΈνλ©΄ JREλ νλ‘κ·Έλ¨ μ€νμ μν μ¬μ μ€λΉλ₯Ό ν©λλ€.
- JVMμ μ μμ λ£μ΄μ λΆν
ν©λλ€.
- JVMμ λͺ©μ νμΌμ λ°μμ λͺ©μ νμΌμ μ€νν©λλ€.
- λͺ¨λ μλ° νλ‘κ·Έλ¨μ΄ λ°λμ ν¬ν¨νλ ν¨ν€μ§μΈ `java.lang` ν¨ν€μ§λ₯Ό T λ©λͺ¨λ¦¬μ μ€νν± μμμ κ°μ Έ λμ΅λλ€.
- JAVMμ κ°λ°μκ° μμ±ν λͺ¨λ ν΄λμ€μ μν¬νΈ ν¨ν€μ§λ₯Ό μ€νν± μμμ κ°μ Έλ€ λμ΅λλ€.
- μ€νν±μ λ³λͺ
μ ν΄λμ€λ€μ λμ΄ν° λΌκ³ ν©λλ€.
μ 리νλ©΄ λ€μκ³Ό κ°μ΅λλ€.
main() λ©μλκ° μ€νλκΈ° μ JVMμμ μννλ μ μ²λ¦¬ μμ
λ€
- java.lang ν¨ν€μ§λ₯Ό T λ©λͺ¨λ¦¬μ μ€νν± μμμ λ°°μΉνλ€.
- imort λ ν¨ν€μ§λ₯Ό T λ©λͺ¨λ¦¬μ μ€νν± μμμ λ°°μΉνλ€.
- νλ‘κ·Έλ¨ μμ λͺ¨λ ν΄λμ€λ₯Ό T λ©λͺ¨λ¦¬μ μ€νν± μμμ λ°°μΉνλ€.
- main λ©μλκ° λκΈ° μν΄ μ€ν νλ μμ΄ μ€νμμμ ν λΉλ©λλ€.
- μ¬κΈ°μ λ©μλμ μΈμ argsλ₯Ό μ μ₯ν λ³μ 곡κ°μ μ€ν νλ μμ 맨 λ°μ ν보ν©λλ€.
- μ΄ λ€μμ `System.out.println("Hello OOP");` κ΅¬λ¬Έμ΄ μ€νλ©λλ€. μ΄ λ T λ©λͺ¨λ¦¬μ λ³νλ μμ΅λλ€.
- main λ©λͺ¨λ¦¬μ λ«λ μ€κ΄νΈλ₯Ό λ§λκ² λλ©΄ μ€ν νλ μμ μλ©Έν©λλ€.
- μ΄λ κ² μ€ν νλ μμ μ¬λ μ€κ΄νΈλ₯Ό λ§λλ©΄ μ€ν νλ μμ΄ μκΈ°λ©°, λ«λ μ€κ΄νΈλ₯Ό λ§λλ©΄ μλ©Έν©λλ€.
- main() λ©μλκ° λλλ©΄ JREλ JVMμ μ’
λ£νκ³ JRE μ체λ μ΄μ체μ μμ λ©λͺ¨λ¦¬μμ μ¬λΌμ§λλ€. κ·Έλ¬λ©΄ T λ©λͺ¨λ¦¬λ μ΄λͺ
μ λ€νκ³ μ¬λΌμ§λλ€.
λ³μμ T λ©λͺ¨λ¦¬
- 2λ²μ§Έ μ€μ μ€νν μν©μ μμ κ°μ΅λλ€. μ΄λ κ² ννλλ μ΄μ λ `main() λ©μλμ T λ©λͺ¨λ¦¬` μμ μ€λͺ νμ΅λλ€.
- ? μλ μ μ μλ κ°μ΄ λ€μ΄κ° μλ€λ λ»μ
λλ€.
- λ³μ iμ κ°μ΄ μ μΈλ§ νκ³ μ΄κΈ°νλ₯Ό νμ§ μμ μνμμ μΆλ ₯νλ €κ³ νλ©΄ μλ° μ»΄νμΌλ¬(javac)λ "The local variable i may not have been initailized" κ²½κ³ λ₯Ό μΆλ ₯ν©λλ€.
- 6λ²μ§Έ μ€μ μ€νν ν T λ©λͺ¨λ¦¬μ μνλ μμ κ°μ΅λλ€.
λΈλ‘ ꡬλΆκ³Ό λ©λͺ¨λ¦¬: λΈλ‘ μ€ν νλ μ
- `λ³μμ T λ©λͺ¨λ¦¬` μμ 4λ² λΌμΈκΉμ§ μ€ννλ©΄ T λ©λͺ¨λ¦¬μ μ΄λ»κ² μ μ₯λλμ§ μ€λͺ
νμμ΅λλ€.
- ifλ¬Έμ T λ©λͺ¨λ¦¬μ μ΄λ»κ² κΈ°λ‘λ κΉμ? if λ 쑰건문μ λ°λΌ λΆκΈ°κ° μΌμ΄λ©λλ€. i μ μ μ₯λ κ°μ΄ 10μ΄λ―λ‘ μ°ΈμΈ λΈλ‘μ μ€ν νλ μμ΄ λ§λ€μ΄μ§λλ€.
- if λΈλ‘ μ€ μ°ΈμΌ λμ λΈλ‘μ μ’
λ£νλ λ«λ μ€κ΄νΈλ₯Ό λ§λλ©΄ if λΈλ‘ μ€ν νλ μμ μ€ν μμμμ μ¬λΌμ§λλ€.
- if λΈλ‘ μ€ν νλ μ μμ μμ£Όνλ λ³μμ μ μ₯ 곡κ°λ μ¬λΌμ§λλ€.
- λΌμΈ 20λ²μ μ£Όμμ ν΄μ νλ©΄ μ΄λ»κ² λ κΉμ? μλ¬κ° λμ¬ κ²μ
λλ€.
- mμ if λΈλ‘ μ€ν νλ μμ΄ μ’
λ£λλ©° μ¬λΌμ‘μ΅λλ€. mainμ΄λΌλ μΈλΆ μ€ν νλ μμμ λ΄λΆ λ³μ mμλ μ κ·Ό ν μ μμ΅λλ€.
- λ€μ μ¬μ€μ κΈ°μ΅ν΄ μ£ΌμΈμ. "μΈλΆ μ€ν νλ μμμ λ΄λΆ μ€ν νλ μμ λ³μμ μ κ·Όνλ κ²μ λΆκ°λ₯νλ κ·Έ μμ κ°λ₯νλ€."
λ©μλ νΈμΆκ³Ό λ©λͺ¨λ¦¬: λ©μλ μ€ν νλ μ
- 6λ²μ§Έ μ€: square() λ©μλλ₯Ό νΈμΆν©λλ€. μ μ΄μ νλ¦μ΄ square() λ©μλκ° μ μΈλ 9λ²μ§Έ μ€λ‘ μ΄λν κ²μ
λλ€.
- μμ κ·Έλ¦Όμ 12λ²μ§Έ μ€μ μ€νμ λ§μ³€μ λ T λ©λͺ¨λ¦¬μ μ€νμ·μ
λλ€.
- μ£Όλͺ©ν΄μΌν κ²μ main() λ©μλκ° κ°μ§ λ³μ kμ square() λ©μλκ° κ°μ§ λ³μ kκ° μ΄λ¦μ κ°μ§λ§ μ€μ λ‘λ λ³λμ 곡κ°μ μ‘΄μ¬νλ€λ κ²μ
λλ€. μ΄κ²μ `Call by Value(κ°μ μν νΈμΆ)` μ΄λΌκ³ ν©λλ€.
- λ°λΌμ square() λ©μλ μμ λ³μμ μ΄λ ν κ°μ λ³κ²½νλλΌλ main() λ©μλ μμ k λ³μλ μν₯μ΄ μμ΅λλ€.
- 6λ²μ§Έ μ€μ μ€νν ν T λ©λͺ¨λ¦¬ μνμ λλ€.
μ μ λ³μμ λ©λͺ¨λ¦¬
- share λ³μμ static ν€μλκ° λΆμ΄ μμ΅λλ€.
- share λ³μλ T λ©λͺ¨λ¦¬μ μ€νν± μμμ λ³μ 곡κ°μ΄ ν λΉλ©λλ€.
- 3λ²μ§Έ μ€μ μ€ννλ©΄ T λ©λͺ¨λ¦¬μ main() λ©μλ μ€ν νλ μμ΄ λ§λ€μ΄μ§λλ€.
- μ΄λ κ² share λ³μμ κ°μ λ³μλ₯Ό μ μ λ³μλΌκ³ ν©λλ€.
- μ μ λ³μλ μ½λ μ΄λ κ³³μμλ μ κ·Όμ΄ κ°λ₯ν©λλ€. μ¬λ¬ λ©μλλ€μ΄ 곡μ ν΄μ μ¬μ©νλ€κ³ ν΄μ 곡μ λ³μλΌκ³ λ ν©λλ€.
- κ·Έλ¬λ νλ‘μ νΈκ° μ»€μ Έμ μ¬λ¬ λ©μλλ€μ΄ μ μ λ³μμ κ°μ λ³κ²½νλ©΄ μ μ λ³μμ μ΄λ€ κ°μ΄ μ μ₯ λμ΄ μλμ§ νμ
νκΈ° μ½μ§ μμ΅λλ€.
- `Math.PI` μ²λΌ μ½κΈ° μ μ©μΌλ‘ κ°μ 곡μ ν΄μ μ μ μμλ‘ μ°λ κ²μ μΆμ²ν©λλ€.
λ©ν° μ€λ λ / λ©ν° νλ‘μΈμ€μ μ΄ν΄
- λ©ν° μ€λ λμ T λ©λͺ¨λ¦¬ λͺ¨λΈμ μ€ν μμμ μ€λ λ κ°μλ§νΌ λΆν ν΄μ μ°λ κ²μ
λλ€.
- λ©ν° νλ‘μΈμ€λ λ€μμ λ°μ΄ν° μ μ₯μμ, μ¦ λ€μμ T λ©λͺ¨λ¦¬λ₯Ό κ°λ ꡬ쑰μ
λλ€.
- λ©ν° νλ‘μΈμ€λ κ° νλ‘μΈμ€λ§λ€ κ°μμ T λ©λͺ¨λ¦¬κ° μκ³ κ°μ κ³ μ μ 곡κ°μ΄λ―λ‘ μλ‘ μ°Έμ‘°ν μ μμ΅λλ€.
- λ©ν° μ€λ λλ νλμ T λ©λͺ¨λ¦¬λ§ μ¬μ©νλλ° μ€ν μμλ§ λΆν ν΄μ μ¬μ©νλ ꡬ쑰μ
λλ€.
- λ©ν° νλ‘μΈμ€λ νλμ νλ‘μΈμ€κ° λ€λ₯Έ νλ‘μΈμ€μ T λ©λͺ¨λ¦¬ μμμ μ λ μΉ¨λ² ν μ μλ λ©λͺ¨λ¦¬ μμ ν ꡬ쑰μ΄μ§λ§ λ©λͺ¨λ¦¬ μ¬μ©λμ κ·Έ λ§νΌ ν½λλ€.
- λ©ν° μ€λ λλ νλμ T λ©λͺ¨λ¦¬ μμμ μ€ν μμλ§ λΆν ν κ²μ΄κΈ° λλ¬Έμ νλμ μ€λ λμμ λ€λ₯Έ μ€λ λμ μ€ν μμμλ μ κ·Όν μ μμ§λ§ μ€νν± μμκ³Ό ν μμμ 곡μ ν΄μ μ¬μ©νλ ꡬ쑰μ
λλ€. λ°λΌμ λ©ν° νλ‘μΈμ€ λλΉ λ©λͺ¨λ¦¬λ₯Ό μ κ² μ¬μ©ν μ μλ ꡬ쑰μ
λλ€.
'Computer Science > Java-Spring' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ‘μΌ νμ΅] μ€νλ§λΆνΈ CRUD REST API (JPA, MySQL, Gradle) (31) | 2021.05.19 |
---|---|
[μ€νλ§ μν리ν°] λλ²κΉ λ‘κ·Έ μΆλ ₯ λ°©λ² (0) | 2021.04.25 |
π λͺ μ λ‘ λ€μ보λ μλ°μ λ©λͺ¨λ¦¬ μ΄μΌκΈ° 2νΈ (0) | 2020.03.24 |
πλͺ μ λ‘ λ€μ보λ κ°μ²΄μ§ν₯ μ΄μΌκΈ° (0) | 2020.03.22 |
μ΄ν΄λ¦½μ€μμ Javaμ Githubμ μ₯μ μ°κ²°νκΈ° (0) | 2017.08.14 |