π ν¨ν€μ§
ν¨ν€μ§(package)λ, ν΄λμ€ λ¬Άμμ΄λ€.
ν¨ν€μ§μλ ν΄λμ€ λλ μΈν°νμ΄μ€λ₯Ό ν¬ν¨μν¬ μ μμΌλ©°, μλ‘ κ΄λ ¨λ ν΄λμ€λ€λΌλ¦¬ κ·Έλ£Ή λ¨μλ‘ λ¬Άμ΄ λμμΌλ‘μ¨ ν΄λμ€λ₯Ό ν¨μ¨μ μΌλ‘ κ΄λ¦¬ν μ μλ€.
κ°μ μ΄λ¦μ ν΄λμ€μΌ μ§λΌλ μλ‘ λ€λ₯Έ ν¨ν€μ§μ μ‘΄μ¬νλ κ²μ΄ κ°λ₯ν΄μ,
λ€λ₯Έ κ°λ°μκ° κ°λ°ν ν΄λμ€ λΌμ΄λΈλ¬λ¦¬μ ν΄λμ€ μ΄λ¦κ³Ό μΆ©λνλ κ²μ νΌν μ μλ€.
ν΄λμ€κ° 물리μ μΌλ‘ νλμ ν΄λμ€νμΌ(*.class
)μΈ κ²κ³Ό κ°μ΄ ν¨ν€μ§λ 물리μ μΌλ‘ νλμ λλ ν 리μ΄λ€.
μλ₯Ό λ€μ΄, java.lang.String
ν΄λμ€λ λλ ν 리 java
μ μλΈ λλ ν λ¦¬μΈ lang
μ μν String.class
νμΌμ΄λ€.
𧑠νλμ μμ€νμΌμλ 첫 λ²μ§Έ λ¬Έμ₯μΌλ‘ λ¨ νλ²μ ν¨ν€μ§ μ μΈλ§μ νμ©νλ€.
𧑠λͺ¨λ ν΄λμ€λ λ°λμ νλμ ν¨ν€μ§μ μν΄μΌνλ€.
𧑠ν¨ν€μ§λ μ (.)μ ꡬλΆμλ‘ νμ¬ κ³μΈ΅κ΅¬μ‘°λ‘ ꡬμ±ν μ μλ€.
𧑠ν¨ν€μ§λ 물리μ μΌλ‘ ν΄λμ€ νμΌ(.class)μ ν¬ν¨νλ νλμ λλ ν 리μ΄λ€.
ν¨ν€μ§μ μ μΈ
ν΄λμ€λ μΈν°νμ΄μ€μ μμ€νμΌ(.java)
μ 맨 μμ λ€μκ³Ό κ°μ΄ ν μ€λ§ μ μ΄μ£Όλ©΄ λλ€.
package ν¨ν€μ§λͺ
;
ν΄λμ€λͺ κ³Ό μ½κ² ꡬλΆνκΈ° μν΄μ μλ¬Έμλ‘ νλ κ²μ μμΉμΌλ‘ νκ³ μλ€.
λͺ¨λ ν΄λμ€λ λ°λμ νλμ ν¨ν€μ§μ ν¬ν¨λμ΄μΌνλ€.
μμ€νμΌμ μμ μ΄ μν ν¨ν€μ§λ₯Ό μ§μ νμ§ μλ λͺ¨λ ν΄λμ€λ μλμ μΌλ‘ μ΄λ¦ μλ ν¨ν€μ§μ μνκ² λλ€.
π import λ¬Έ
importλ¬Έμ μ»΄νμΌλ¬μκ² μμ€νμΌμ μ¬μ©λ ν΄λμ€μ ν¨ν€μ§μ λν μ 보λ₯Ό μ 곡νλ€.
import λ¬Έμ μ μΈ
λͺ¨λ μμ€νμΌ(*.java
)μμ import λ¬Έμ package λ¬Έ λ€μμ, κ·Έλ¦¬κ³ ν΄λμ€ μ μΈλ¬Έ μ΄μ μ μμΉν΄μΌνλ€.
importλ¬Έμ package λ¬Έκ³Ό λ¬λ¦¬ ν μμ€νμΌμ μ¬λ¬ λ² μ μΈν μ μλ€.
import ν¨ν€μ§λͺ
.ν΄λμ€λͺ
;
or
import ν¨ν€μ§λͺ
.*; // μ§μ λ ν¨ν€μ§μ μνλ λͺ¨λ ν΄λμ€λ₯Ό ν¨ν€μ§λͺ
μμ΄ μ¬μ©ν μ μλ€.
static import λ¬Έ
import λ¬Έμ μ¬μ©νλ©΄ ν΄λμ€μ ν¨ν€μ§λͺ μ μλ΅ν μ μλ κ²κ³Ό κ°μ΄ static import λ¬Έμ μ¬μ©νλ©΄ static λ©€λ²λ₯Ό νΈμΆν λ ν΄λμ€ μ΄λ¦μ μλ΅ν μ μλ€.
import static java.lang.Integer.*;
import static java.lang.Math.random;
import static java.lang.System.out;
out.println(random());
// System.out.println(Math.random());
π CLASSPATH
ν΄λμ€ν¨μ€λ μ»΄νμΌλ¬(javac.exe
)λ JVMλ±μ΄ ν΄λμ€ μμΉλ₯Ό μ°Ύλ λ° μ¬μ©λλ κ²½λ‘μ΄λ€.
π’ J2JDK λ²μ λΆν°λ /jre/lib/ext ν΄λμ νμν ν΄λμ€ λΌμ΄λΈλ¬λ¦¬λ€μ 볡μ¬ν΄λμΌλ©΄ μ¬μ© κ°λ₯νμ¬ νΉλ³ν κ²½μ°κ° μλλ©΄ μ€μ νμ§ μλλ€.
JAVA μ€ν°λ 1μ£Όμ°¨μμ 곡λΆνλ JVM λμκ³Όμ μ λ€μ μκΈ°μμΌλ³΄μ.javac
λ‘ .java
νμΌμ .class
νμΌλ‘ μ»΄νμΌ μμΌμ€¬κ³ ,java
λ‘ ν΄λΉ ν΄λμ€ νμΌμ μ€νμμΌ μ€¬λ€.
μ΄ λ, μλ°λ μ΄ ν΄λμ€ νμΌμ μ°Ύμ μ μμ΄μΌ νλλ°, μ΄λ classpath λ₯Ό μ¬μ©νλ€.
ν΄λμ€ ν¨μ€λ₯Ό μ§μ νλ λ°©λ²
- CLASSPATH νκ²½ λ³μ μ¬μ©
- java runtimeμ
-classpath
μ΅μ μ¬μ©
CLASSPATH νκ²½ λ³μ μ¬μ©
μλμ°μμ
μ μ΄ν - μμ€ν
- κ³ κΈ μμ€ν
μ€μ - νκ²½λ³μ - μλ‘λ§λ€κΈ°μμ
CLASSPATHλΌκ³ λ³μ μ΄λ¦μ μ§μ νκ³
λ³μ κ°μ JAVA_HOME μλμ lib ν΄λλ‘ μ§μ ν΄μ£Όλ©΄ λλ€.
classpathκ° λ°λ₯΄κ² μ€μ λμλμ§ νμΈνλ €λ©΄, μ½λ©λ μ°½μμecho %classpath%
λΌκ³ μ³λ³΄λ©΄ λλ€.
java runtimeμ -classpath μ΅μ μ¬μ©
-classpath
λ μ»΄νμΌλ¬κ° μ»΄νμΌ νκΈ° μν΄μ νμλ‘ νλ μ°Έμ‘°ν ν΄λμ€ νμΌλ€μ μ°ΎκΈ° μν΄μ μ»΄νμΌ μ νμΌ κ²½λ‘λ₯Ό μ§μ ν΄μ£Όλ μ΅μ
μ΄λ€. -cp
λΌκ³ μ¨μ€λ λλ€.
μλ₯Ό λ€μ΄,Hello.java
νμΌμ΄ C:\Java
λλ ν 리μ μ‘΄μ¬νκ³ ,
νμν ν΄λμ€ νμΌλ€μ΄ C:\Java\Engclasses
μ μμΉνλ€λ©΄javac -classpath CL\Java\EngClasses C:\Java\Hello.java
λ‘ ν΄μ£Όλ©΄ λλ€.
λ§μ½ μ°Έμ‘°ν ν΄λμ€ νμΌλ€μ΄ κ·Έ μΈμ λ€λ₯Έ λλ ν°λ¦¬, κ·Έλ¦¬κ³ ν λλ ν 리μλ μ‘΄μ¬νλ€λ©΄,javac -classpath .;C:\Java\Engclasses;C;\Java\Korclasses C:\Java\Hello.java
λ‘ ν΄μ£Όλ©΄ λλ€.
μμ κ°μ΄ μΈλ―Έμ½λ‘ μΌλ‘ ꡬλΆν΄μ€ μ μλ€.
(.
μ΄ ν λλ ν 리, ..
μ ν λλ ν 리μμ μμ λλ ν 리λ₯Ό μλ―Ένλ€.)
https://kils-log-of-develop.tistory.com/430#%ED%81%B4%EB%9E%98%EC%8A%A4%ED%8C%A8%EC%8A%A4
μλ°μ μ μ (λμ°μΆν, λ¨κΆ μ± μ )
'JAVA > WhiteShip Java Live Study' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JAVA] μμμ΄λ? (μΆμν΄λμ€, super, final, μ€λ²λΌμ΄λ©...) (0) | 2021.06.07 |
---|---|
[JAVA] ν΄λμ€λ? (ν΄λμ€, κ°μ²΄, new, λ©μλ, μμ±μ, this...) (0) | 2021.05.28 |
[JAVA] μ μ΄λ¬Έ (2) | 2021.05.23 |
[JAVA] μ°μ°μ (νμ΄ν, μΌν, switch...) (0) | 2021.05.17 |
[JAVA] μλ° λ°μ΄ν° νμ , λ³μ κ·Έλ¦¬κ³ λ°°μ΄ (0) | 2021.05.17 |