[Java] μλ° ν΄λμ€, κ°μ²΄, μΈμ€ν΄μ€μ κ°λ
μλ°(Java)μμ ν΄λμ€(Class)λ κ°μ²΄(Object)λ₯Ό μμ±νκΈ° μν ν λλ μ€κ³λλ€.
ν΄λμ€λ κ°μ²΄κ° κ°μ ΈμΌ ν μμ±(Attribute)κ³Ό λ©μλ(Method)λ₯Ό μ μνλ€.
μμ±μ κ°μ²΄μ μνλ₯Ό λνλ΄λ©°, λ©μλλ κ°μ²΄κ° μνν μ μλ λμμ μ μνλ€.
μ΄λ¬ν ν΄λμ€μ μ μλ₯Ό λ°νμΌλ‘ μ€μ λ‘ λ©λͺ¨λ¦¬μ ν λΉλμ΄ μ¬μ©λ λ κ·Έκ²μ΄ κ°μ²΄μ΄λ€.
μλ₯Ό λ€μ΄, μλμ°¨λ₯Ό ν΄λμ€λ‘ λΉμ ν΄λ³΄μ.
μλμ°¨ ν΄λμ€λ λΈλλ, μμ, μλ λ±κ³Ό κ°μ μμ±μ κ°μ§λ©° μ£Όν, λ©μΆ€, μλ λ³κ²½ λ±κ³Ό κ°μ λ©μλλ₯Ό κ°μ§ μ μλ€.
μ΄ ν΄λμ€λ₯Ό λ°νμΌλ‘ μμ±λ μ€μ μλμ°¨ κ°μ²΄λ€μ κ°κ° λ€λ₯Έ λΈλλ, μμ, μλλ₯Ό κ°μ§κ² λλ€.
κ·Έλ¦¬κ³ κ°μ²΄(Object)μ μΈμ€ν΄μ€(Instance)μ μ°¨μ΄λ λ§€μ° λ―Έλ¬νμ§λ§, κ°μ²΄λ ν΄λμ€μ μΈμ€ν΄μ€μ΄λ€.
κ°μ²΄λ ν΄λμ€μμ μμ±λ μ€μ²΄νλ(Instance) κ°μ²΄λ₯Ό μλ―Ένλ©°,
κ°κ°μ κ°μ²΄λ λ 립μ μΈ λ©λͺ¨λ¦¬ 곡κ°μ κ°μ§κ³ μλ€.
μ΄λ¬ν κ°μ²΄ μ€ νΉμ ν κ°μ²΄λ₯Ό ν΄λΉ ν΄λμ€μ μΈμ€ν΄μ€λΌκ³ νλ€.
// μλμ°¨ ν΄λμ€ μ μ
public class Car {
// μμ±(λ©€λ² λ³μ)
String brand;
String color;
int speed;
// λ©μλ
public void accelerate() {
speed += 10;
}
public void brake() {
speed -= 10;
}
public void display() {
System.out.println("λΈλλ: " + brand + ", μμ: " + color + ", μλ: " + speed);
}
}
// λ©μΈ ν΄λμ€
public class Main {
public static void main(String[] args) {
// Car ν΄λμ€μ κ°μ²΄ μμ±
Car car1 = new Car();
Car car2 = new Car();
// κ°μ²΄μ μμ± μ€μ
car1.brand = "Toyota";
car1.color = "Red";
car1.speed = 60;
car2.brand = "BMW";
car2.color = "Blue";
car2.speed = 80;
// κ°μ²΄μ λ©μλ νΈμΆ
car1.accelerate();
car2.brake();
// κ°μ²΄μ μν μΆλ ₯
car1.display(); // λΈλλ: Toyota, μμ: Red, μλ: 70
car2.display(); // λΈλλ: BMW, μμ: Blue, μλ: 70
}
}
μμ μ½λμμ Car ν΄λμ€λ₯Ό μ¬μ©νμ¬ car1κ³Ό car2λΌλ κ°μ²΄λ₯Ό μμ±νκ³ ,
μ΄ κ°μ²΄λ€μ μμ±μ μ€μ νκ³ λ©μλλ₯Ό νΈμΆν ν μνλ₯Ό μΆλ ₯νκ³ μλ€.
μ΄λ car1κ³Ό car2λ Car ν΄λμ€μ μΈμ€ν΄μ€μ΄λ€.
ν΄λμ€μμ μμ±λ μ€μ²΄νλ κ²μ΄λ―λ‘ μ΄λ€μ λͺ¨λ ν΄λμ€μ κ°μ²΄μ΄λ€.
νμ§λ§ "μΈμ€ν΄μ€"λΌλ μ©μ΄λ μ΄λ€μ νΉμ ν΄λμ€μ μμλ‘ κ°λ¦¬ν¬ λ μ¬μ©λλ€.