Java | ν΄λμ€(Class)
λ¬Έμμ΄μ 곡λΆνκ³ λ μ΄νλ‘
λ°°μ λ νμ΄μ¬κ³Ό λΉμ·νλ©΄μλ λ€λ₯Έ λλμ λ°μ μ μμλ€.
μμΌλ‘ κ³μ λ°°μ°κ² λ λ΄μ© λλΆλΆ λΉμ·νλ€.
(λμΆ© μ¬λ―Έκ° μμ΄μ§κΈ° μμνλ€λ μ리..)
κ΄μ¬μ΄ λ리λ λ¨μ μμ£Όλ‘ ν₯λ―Έλ₯Ό μ΅λν λΆμ¬λ³΄μ.
[μΆμ² : μ ν ν¬ μλ°]
ν΄λμ€(Class)
κ°μ²΄μ λνμ¬
class Animal {
}
μ μ½λλ ν΄λμ€μ κ°μ₯ κ°λ¨ν κΈ°λ³Έ ννμ΄λ€.
μ μΈλ§ λμ΄μμΌλ©°, λ΄μ©μ΄ μλ λΉ κ»λ°κΈ° μνμ΄λ€.
μ΄ μ½λμ μ‘΄μ¬λ§μΌλ‘λ μμ£Ό μ€μν κΈ°λ₯μ κ°μ§κ³ μλ€.
λ°λ‘ κ°μ²΄ μμ±μ΄λ€.
public class Sample {
public static void main(String[] args) {
Animal cat = new Animal(); // cat = κ°μ²΄
}
}
μ 보기μ κ°μ΄ new λ κ°μ²΄λ₯Ό μμ±ν λ μ¬μ©νλ ν€μλμ΄λ€.
μ€νν κ²½μ° Animal ν΄λμ€μ μΈμ€ν΄μ€(instance)μΈ cat, μ¦ Animalμ κ°μ²΄κ° λ§λ€μ΄μ§λ€.
πΆπ«οΈ κ°μ²΄μ μΈμ€ν΄μ€μ μ°¨μ΄μ
ν΄λμ€μ μν΄μ λ§λ€μ΄μ§ κ°μ²΄λ₯Ό μΈμ€ν΄μ€λΌκ³ λ νλ€.
μΈμ€ν΄μ€λΌλ λ§μ νΉμ κ°μ²΄(cat)κ° μ΄λ€ ν΄λμ€(Animal)μ κ°μ²΄μΈμ§λ₯Ό κ΄κ³μμ£Όλ‘ μ€λͺ ν λ μ¬μ©λλ€.
ν΄λμ€λ₯Ό λνλ΄λ λνμ μΈ μ
κ³Όμν > ν΄λμ€(Class)
κ³Όμνμ μν΄μ λ§λ€μ΄μ§ κ³Όμλ€ > κ°μ²΄(Object)
κ°μ²΄ λ³μ(instance variable)
class Animal {
String name; // name = κ°μ²΄λ³μ
}
Animal ν΄λμ€μ name μ΄λΌλ String λ³μλ₯Ό μΆκ°ν¨μΌλ‘ μ μΈλ λ³μλ₯Ό κ°μ²΄ λ³μλΌκ³ νλ€.
μ½κ² λ§ν΄ ν΄λμ€μ μμ±λλ κ²μ κ°μ²΄, κ·Έλ¦¬κ³ κ·Έ ν΄λμ€μ μ μΈλ λ³μλ κ°μ²΄ λ³μλΌκ³ μκ°νμ.
λ©μλ(Method)
ν΄λμ€ λ΄μ ꡬνλ ν¨μλ₯Ό μλ―Ένλλ° λ³΄ν΅ ν¨μλΌκ³ λ§νμ§ μκ³ λ©μλλΌκ³ νλ€.
(νμ΄μ¬μμλ ν¨μκ° λ μ°©μ°© κ°κΈ°λλ ..)
Animal ν΄λμ€μ μΆκ°λ setName λ©μλ νν
class Animal {
String name;
public void setName(String name) {
this.name = name;
// public [void(=리ν΄κ° μμ)] setName[(μ
λ ₯)] {
// this.name = name;
}
}
μΆκ°ν λ©μλλ₯Ό νΈμΆνλ λ°©λ²
cat.setName("boby");
// κ°μ²΄.λ©μλ("μΈμ");
// μΈμ : λ©μλ 맀κ°λ³μ μ 무μ λ°λ₯Έ κ°μ
λ ₯
κ°μ²΄ λ³μλ 곡μ λμ§ μλλ€
μ ν ν¬ μλ°μμ κ±°λ μ€μνλ€κ³ μΈκΈνλ λΆλΆμ΄λ€.
ν΄λμ€μ κ°μ₯ μ€μν λΆλΆμ κ°μ²΄λ³μμ κ°μ΄ λ 립μ μΌλ‘ μ μ§λλ€λ μ
public class Sample {
public static void main(String[] args) {
Animal cat = new Animal();
cat.setName("boby"); // λ©μλ νΈμΆ
Animal dog = new Animal();
dog.setName("happy");
System.out.println(cat.name); // boby
System.out.println(dog.name); // happy
}
}