{% hint style="info" %} ν±λ 벨 ν΄λμ€λ μμ€ νμΌ μμμ λ€λ₯Έ ν΄λμ€μ μνμ§ μκ³ λ 립μ μΌλ‘ μ μΈλ ν΄λμ€λ₯Ό λ§νλ€. {% endhint %}
μΌλ°μ μΌλ‘ μλ°μμλ μμ€ νμΌλΉ νλμ ν±λ 벨 ν΄λμ€λ§ λλ κ²μ΄ κΆμ₯λλ€. κ·Έλ¬λ μλ° μ»΄νμΌλ¬λ μμ€ νμΌ μμ μ¬λ¬ κ°μ ν±λ 벨 ν΄λμ€λ₯Ό μ μΈνλλΌλ μ€λ₯λ₯Ό λ°μμν€μ§ μλλ€. νμ§λ§ μ΄λ μ¬λ¬ κ°μ§ λ¬Έμ λ₯Ό μ΄λν μ μλ€.
μ»΄νμΌλ¬μ μ²λ¦¬ μμμ λ°λ₯Έ λμ μ°¨μ΄:
- λ§μ½ μμ€ νμΌ νλμ λ κ°μ ν±λ 벨 ν΄λμ€λ₯Ό μ μν ν, λμΌν μ΄λ¦μΌλ‘ λ€λ₯Έ μμ€ νμΌμλ κ°μ ν±λ 벨 ν΄λμ€λ₯Ό μ μνλ€λ©΄, μ΄λ νμΌμ λ¨Όμ μ»΄νμΌνλλμ λ°λΌ νλ‘κ·Έλ¨μ λμμ΄ λ¬λΌμ§ μ μλ€.
- μ΄λ μκΈ°μΉ λͺ»ν κ²°κ³Όλ₯Ό μ΄λν μ μμΌλ©°, μ½λκ° μ΄λμ μ΄λ»κ² μ€νλ μ§ μμΈ‘νκΈ° μ΄λ ΅κ² λ§λ λ€.
μμ
// Main.java
public class Main {
public static void main(String[] args) {
System.out.println(Utensil.NAME + Dessert.NAME);
}
}// Utensil.java
class Utensil {
static final String NAME = "pan";
}
class Dessert {
static final String NAME = "cake";
}// Dessert.java
class Utensil {
static final String NAME = "pot";
}
class Dessert {
static final String NAME = "pie";
}- λ§μ½
javac Main.java Utensil.javaλͺ λ ΉμΌλ‘ μ»΄νμΌνλ©΄pancakeμ΄ μΆλ ₯λλ€. - λ°λ©΄μ
javac Dessert.java Main.javaλͺ λ ΉμΌλ‘ μ»΄νμΌνλ©΄potpieκ° μΆλ ₯λλ€. - κ°μ νλ‘κ·Έλ¨μ΄λΌλ μ»΄νμΌ μμμ λ°λΌ μ ν λ€λ₯Έ κ²°κ³Όλ₯Ό λ³κ² λλ€.
ν±λ 벨 ν΄λμ€λ₯Ό κ°κ°μ νμΌλ‘ λΆλ¦¬νλ©΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μλ€. κ° ν±λ 벨 ν΄λμ€λ κ³ μ ν μμ€ νμΌμ κ°μ ΈμΌ νλ©°, μ΄λ κ² νλ©΄ μ»΄νμΌ μμμ κ΄κ³μμ΄ μμν λλ‘ νλ‘κ·Έλ¨μ΄ λμνλ€.
νμ§λ§ μ¬λ¬ ν±λ 벨 ν΄λμ€λ₯Ό ν νμΌμ λκ³ μΆλ€λ©΄ μ μ λ©€λ² ν΄λμ€λ₯Ό μ¬μ©ν μ μλ€.
μ μ λ©€λ² ν΄λμ€λ‘ λ³κ²½
// Test.java
public class Test {
public static void main(String[] args) {
System.out.println(Utensil.NAME + Dessert.NAME);
}
private static class Utensil { // Utensilμ μ μ λ©€λ² ν΄λμ€λ‘ μ μΈ
static final String NAME = "pan";
}
private static class Dessert { // Dessertλ₯Ό μ μ λ©€λ² ν΄λμ€λ‘ μ μΈ
static final String NAME = "cake";
}
}- λ 립μ±: μ μ λ©€λ² ν΄λμ€λ μΈλΆ ν΄λμ€μ μΈμ€ν΄μ€μ λ 립μ μΌλ‘ μ‘΄μ¬ν μ μμΌλ―λ‘, μΈλΆ ν΄λμ€μ μνλ₯Ό 곡μ νμ§ μμΌλ©΄μλ λ°κΉ₯ ν΄λμ€μ μν ν΄λμ€μ²λΌ μλνλ€.
- μ κ·Όμ±:
privateμΌλ‘ μ μΈνλ©΄ μΈλΆμμ μ κ·Όν μ μκ² νμ¬ λΆνμν λ ΈμΆμ λ°©μ§ν μ μμ΅λλ€. μ΄λ κ² νλ©΄ μ½λμ κ°λ μ±μ΄ μ’μμ§κ³ , λΆνμν μ°Έμ‘°λ₯Ό μ€μ¬ λ©λͺ¨λ¦¬ λμλ₯Ό μλ°©ν μ μλ€. - ꡬ쑰μ μ 리: μ¬λ¬ κ΄λ ¨λ ν΄λμ€λ€μ νλμ νμΌμ λκ³ μΆμ λ, μ μ λ©€λ² ν΄λμ€λ₯Ό μ¬μ©νλ©΄ μ½λκ° λ μ½κΈ° μ¬μμ§κ³ μ μ§λ³΄μλ μ©μ΄ν΄μ§λ€.
μμ€ νμΌ νλμλ λ°λμ ν±λ 벨 ν΄λμ€(νΉμ ν±λ 벨 μΈν°νμ΄μ€)λ₯Ό νλλ§ λ΄μ.
src/
com/
example/
ClassA.javapackage com.example;
public class ClassA {
public void print() {
System.out.println("This is ClassA");
}
}
class ClassB {
public void print() {
System.out.println("This is ClassB");
}
}- ν±λ 벨 ν΄λμ€λ λ³΄ν΅ μμ€ νμΌλΉ νλλ§ μ μΈνλ κ²μ΄ μ’λ€. μ¬λ¬ ν±λ 벨 ν΄λμ€λ₯Ό ν νμΌμ μ μνλ©΄, μ»΄νμΌ μμμ λ°λΌ νλ‘κ·Έλ¨ λμμ΄ λ¬λΌμ§ μ μμ΄ μ μ§λ³΄μμ λλ²κΉ μ΄ μ΄λ €μμ§λ€.
- μ μ λ©€λ² ν΄λμ€λ₯Ό μ¬μ©νλ©΄, μΈλΆ ν΄λμ€μ ν¨κ» μ¬μ©λ μ μμΌλ©΄μλ μΈλΆ ν΄λμ€μ μνμ λ 립μ μΌλ‘ λμν μ μμ΄ μ½λμ μμ μ±κ³Ό ν¨μ¨μ±μ΄ λμμ§λ€.
- μ μ λ©€λ² ν΄λμ€λ₯Ό μ μ ν νμ©νλ©΄ μ½λμ κ°λ μ±κ³Ό μ μ§λ³΄μμ±μ΄ ν₯μλλ©°, λΆνμν μΈλΆ μ°Έμ‘°λ‘ μΈν λ©λͺ¨λ¦¬ λμλ₯Ό λ°©μ§ν μ μλ€