κ°μ₯ μ€μνκ³ μ¬λ¬λ² μ§κ³ λμ΄κ°μΌν ννΈ
κ·Έ μ΄λ¦μ..
μ . μ±. μ .
λ°°μ°λ¬ κ°λ³΄μκ³ ~
[μΆμ² : μ ν ν¬ μλ°]
μμ±μ(Constructor)
λ©μλλͺ
μ΄ ν΄λμ€λͺ
κ³Ό λμΌνκ³ λ¦¬ν΄ μλ£νμ μ μνμ§ μλ λ©μλ
μμ±μμ νμμ±
dog κ°μ²΄μ name λ³μμ μλ¬΄λ° κ°λ μ€μ νμ§ μμ, null μ΄λΌλ κ°μ μΆλ ₯νκ³ μλ€.
κ·Έλ λ€λ©΄ name μ΄λΌλ κ°μ²΄λ³μμ κ°μ 무쑰건 μ€μ ν΄μΌλ§ κ°μ²΄κ° μμ±λ μ μλλ‘ κ°μ ν μ μλ λ°©λ²μ μμκΉ?
public class A4_Constructor {
public static void main(String[] args) {
// μμ±μ
// HouseDog4 dog = new HouseDog4();
HouseDog4 dog = new HouseDog4();
System.out.println(dog.name); // null μΆλ ₯
// null μΆλ ₯μ μ΄μ
// μ€λ₯κ° λ°μνλ μ΄μ λ κ°μ²΄ μμ± λ°©λ²μ΄ μμ±μμ κ·μΉκ³Ό λ§μ§ μκΈ° λλ¬Έ
}
}
μμ±μ λ©μλ μΆκ°
class HouseDog4 extends Dog4 {
// μμ±μ
// λ©μλμ²λΌ λ©μλλͺ
μ΄ ν΄λμ€λͺ
κ³Ό λμΌνκ³ λ¦¬ν΄ μλ£νμ μ μνμ§ μλ λ©μλ
// new ν΄λμ€λͺ
(μ
λ ₯μΈμ, ...)
HouseDog4(String name) {
this.setName(name);
}
}
μμ±μμ κ·μΉ
- ν΄λμ€λͺ
κ³Ό λ©μλλͺ
μ΄ λμΌ
- λ¦¬ν΄ μλ£νμ μ μνμ§ μμ(voidλ μ¬μ©νμ§ μλλ€.)
- new ν΄λμ€λͺ
(μ
λ ₯μΈμ, ...)
μ
λ ₯κ°μΌλ‘ λ¬Έμμ΄μ νμλ‘ νλ μμ±μ
'String name' μ΄λΌλ μ
λ ₯κ°μ νμλ‘ νκΈ° λλ¬Έμ μλμ κ°μ²΄λ₯Ό μμ±ν λ λ¬Έμμ΄μ μ λ¬ν΄μΌνλ€.
class HouseDog4 extends Dog4 {
HouseDog4(String name) {
this.setName(name);
}
}
κ°μ²΄ μμ±μ λ¬Έμμ΄ μΆκ°
public class A4_Constructor {
public static void main(String[] args) {
HouseDog4 dog = new HouseDog4("happy"); // μμ±μ νΈμΆ μ λ¬Έμμ΄μ μ λ¬ν΄μΌ νλ€.
System.out.println(dog.name); // happy μΆλ ₯
}
}
λν΄νΈ(default) μμ±μ
μμ±μμ μ
λ ₯ νλͺ©μ΄ μκ³ , μμ±μ λ΄λΆμ μ무 λ΄μ©μ΄ μλ μμ κ°μ μμ±μ
class Dog4 extends Animal4 {
// λν΄νΈ(default) μμ±μ
// μμ±μμ μ
λ ₯ νλͺ©μ΄ μκ³ μμ±μ λ΄λΆμ μ무 λ΄μ©μ΄ μλ μμ κ°μ μμ±μλ₯Ό λν΄νΈ μμ±μ
// ν΄λμ€μ μμ±μκ° μλλΌλ μ»΄νμΌλ¬λ μλμΌλ‘ λν΄λ μμ±μλ₯Ό μΆκ°νλ€.
Dog4() {
}
}
public class A4_Constructor {
public static void main(String[] args) {
// λν΄νΈ μμ±μ
Dog4 DogEx = new Dog4();
// μλ¨μ ν΄λμ€μμ μ¬μ©μμ λ³λ€λ₯Έ μ μκ° μλ€λ©΄ λν΄νΈ μμ±μκ° μλμΌλ‘ μμ±λ¨
}
}
- μμ±μκ° νλλ μλ€λ©΄ μ»΄νμΌλ¬κ° μλμΌλ‘ λν΄νΈ μμ±μλ₯Ό μΆκ°
- μ¬μ©μκ° μμ±ν μμ±μκ° νλλ μλ€λ©΄ μ»΄νμΌλ¬λ λν΄νΈ μμ±μλ₯Ό μΆκ°νμ§ μμ
μμ±μ μ€λ²λ‘λ©
νλμ ν΄λμ€μ μ¬λ¬κ°μ μ
λ ₯νλͺ©μ΄ λ€λ₯Έ μμ±μλ₯Ό λ§λ€ μ μλ€.
class HouseDog4 extends Dog4 {
HouseDog4(String name) {
this.setName(name);
}
// μμ±μ μ€λ²λ‘λ©(Overloading)
// νλμ ν΄λμ€μ μ¬λ¬κ°μ μ
λ ₯νλͺ©μ΄ λ€λ₯Έ μμ±μλ₯Ό λ§λ€ μ μλ€.
HouseDog4(int type) {
if (type == 1) {
this.setName("yorkshire");
} else if (type == 2) {
this.setName("bulldog");
}
}
}
public class A4_Constructor {
public static void main(String[] args) {
// μμ±μ μ€λ²λ‘λ©
HouseDog4 happy = new HouseDog4("happy"); // λ¬Έμμ΄λ‘ μμ±
// String μλ£νμΌλ‘ μ
λ ₯λ°λ ν΄λμ€
HouseDog4 yorkshire = new HouseDog4(1); // μ«μκ°μΌλ‘ μμ±
// int μλ£νμΌλ‘ μ
λ ₯λ°λ ν΄λμ€
HouseDog4 dog = new HouseDog4("happy"); // μμ±μ νΈμΆ μ λ¬Έμμ΄μ μ λ¬ν΄μΌ νλ€.
System.out.println(dog.name); // happy μΆλ ₯
}
}
βοΈ λ©μλ μ€λ²λ‘λ©κ³Ό λμΌν κ°λ
λ€μν ν΄λμ€λ₯Ό μμλ°μ μ μλ ν΄λμ€ μμ νΉμ ν 쑰건μ μ
λ ₯λ°μ μ μλ μ¬λ¬κ°μ§μ λ©μλλ₯Ό μμ±ν μ μλ λ€μ¬λ€λ₯ν μμ±μ!!
μ¬ γ
μ’μλ°?
μ€κ³΅μ!