
μλ°λ 2λ¨κ³ μ€ν ꡬ쑰λ₯Ό κ°μ§κ³ μμ΅λλ€.
1λ¨κ³: μ»΄νμΌ
.java β javac β .class(λ°μ΄νΈμ½λ μμ±)
μ΄ λ¨κ³μμλ νλ‘κ·Έλ¨μ΄ μ€μ λ‘ μ€νλμ§λ μμ΅λλ€.
2λ¨κ³: μ€ν (Runtime)
.class νμΌμ java λͺ
λ Ήμ΄λ‘ μ€νν©λλ€.
JVM(Java Virtual Machine)μ΄ λ°μ΄νΈμ½λλ₯Ό μ½κ³ νλ‘κ·Έλ¨ μ€νν©λλ€.
π μλ°λ μ΄μ²λΌ μ€ν νκ²½μ λΆλ¦¬νμ¬ μ΄μ체μ μ μ’
μλμ§ μκ³ , λ€μν νκ²½μμ λμμ΄ κ°λ₯ν©λλ€.
β "Write Once, Run Anywhere"
JRE (Java Runtime Environment)λ
μλ° νλ‘κ·Έλ¨μ μ€νν μ μλ νκ²½μ
λλ€.
π JRE ꡬμ±μμ
JREλ μλ° νλ‘κ·Έλ¨μ μ€νλ§ ν μ μμΌλ©°,
κ°λ°(μ½λ©, μ»΄νμΌ)μ λΆκ°λ₯ν©λλ€.
κ°λ°νλ €λ©΄ JDKκ° νμν©λλ€!
Java Platformμ μλ° νλ‘κ·Έλ¨μ κ°λ°νκ³ μ€ννκΈ° μν μ 체 νκ²½μ λλ€.
π¦ ꡬμ±μμ
λ©μλ λ°ννμ λ©μλκ° μ€νλ ν μ΄λ€ νμ μ κ°μ λ°νν μ§λ₯Ό λνλ λλ€.
π μ£Όμ λ°νν μμ
int sum() {
return 10; // intν κ° λ°ν
}
String getName() {
return "James"; // λ¬Έμμ΄ λ°ν
}
void printInfo() {
System.out.println("μ 보 μΆλ ₯"); // λ°ν μμ
}
π‘ λ°ννμ΄ μλͺ»λλ©΄ μ»΄νμΌ μλ¬κ° λ°μνλ―λ‘, λ©μλ μ μΈλΆμ μ€μ λ°νκ°μ νμ μ΄ μΌμΉν΄μΌ ν©λλ€.
Has-a κ΄κ³λ ν΄λμ€ κ° ν¬ν¨ κ΄κ³λ₯Ό μλ―Έν©λλ€.
μ¦, νλμ ν΄λμ€κ° λ€λ₯Έ ν΄λμ€μ κ°μ²΄λ₯Ό νλλ‘ κ°μ§ λ μ¬μ©λ©λλ€.
π μμ
class Engine {}
class Car {
Engine engine = new Engine(); // Car has-a Engine
}