μμ±μλ μΈμ€ν΄μ€κ° μμ±λ λ νΈμΆλλ 'μΈμ€ν΄μ€ μ΄κΈ°ν λ©μλ' μ΄λ€.
μμ±μμ 쑰건 |
1. ν΄λμ€ λ΄μ μ μΈλμ΄μΌ νλ€. |
2. μμ±μμ μ΄λ¦μ ν΄λμ€μ μ΄λ¦κ³Ό κ°μμΌ νλ€. |
3. μμ±μλ λ¦¬ν΄ κ°μ΄ μλ€. |
π‘ 리ν΄κ°μ΄ μλ€λ μλ―Έμ voidλ₯Ό λΆμ¬μΌ νμ§λ§, λͺ¨λ μμ±μμλ 리ν΄κ°μ΄ μμΌλ―λ‘ voidλ₯Ό μλ΅ν μ μλ€.
1. κΈ°λ³Έ μμ±μ(default constructor)
λͺ¨λ ν΄λμ€μλ λ°λμ νλ μ΄μμ μμ±μκ° μ μλμ΄ μμ΄μΌ νλ€.
μ»΄νμΌλ¬κ° μ 곡νλ 'κΈ°λ³Έ μμ±μ' λλΆμ ν΄λμ€μ μμ±μλ₯Ό μ μνμ§ μκ³ λ μΈμ€ν΄μ€λ₯Ό μμ±ν μ μμλ€.
package chapter6;
public class Ex6_12 {
public static void main(String[] args) {
Data_1 d1 = new Data_1();
}
}
class Data_1 {
int value;
}
μμ κ°μ΄ μμ±μλ₯Ό μ μνμ§ μμλ μλ¬ μμ΄ μΈμ€ν΄μ€ μμ±μ΄ κ°λ₯νλ€.
package chapter6;
public class Ex6_12 {
public static void main(String[] args) {
Data_1 d1 = new Data_1();
Data_2 d2 = new Data_2();
}
}
class Data_1 {
int value;
}
class Data_2 {
// iv μΈμ€ν΄μ€ λ³μ , μΈμ€ν΄μ€ λ©μλμ μ¬μ© κ°λ₯
int value;
Data_2(int x) { // lv μ§μ λ³μ
value = x;
}
}
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The constructor Data_2() is undefined
at chapter6.Ex6_12.main(Ex6_12.java:8)
Data_2 ν΄λμ€μλ 맀κ°λ³μκ° μλ μμ±μλ₯Ό μ μΈνμλ€.
μ μ½λλ₯Ό μ»΄νμΌνλ©΄ μμ κ°μ μλ¬λ©μμ§κ° λνλλλ° Data_2 ν΄λμ€μ μμ±μ Data_2()κ° μ μλμ΄ μμ§ μμ
μλ¬κ° λ°μνλ€.
μ μ½λμμ μ»΄νμΌ μλ¬κ° λ°μνμ§ μλλ‘ νκΈ° μν΄μ ?
Data_2 ν΄λμ€μ Data_2(){} μμ±μλ₯Ό μΆκ° μ μΈνκ±°λ, μΈμ€ν΄μ€λ₯Ό μμ±ν λ μμ±μ Data_2(int x) λ₯Ό μ¬μ©ν΄μΌ νλ€
Data_2(){} // μΆκ°λ‘ μ μ
Data_2(int x) {
value = x;
}
Data_2 d2 = new Data_2();
Data_2 d2 = new Data_2(10); //OK
2. 맀κ°λ³μκ° μλ μμ±μ
package chapter6;
public class Ex6_12 {
public static void main(String[] args) {
Car3 c = new Car3("white", "auto", 4);
System.out.println(c.color);
}
}
class Car3 {
String color;
String gearType;
int door;
// κΈ°λ³Έ μμ±μ
Car3() {
}
// 맀κ°λ³μκ° μλ μμ±μ
Car3(String c, String g, int d) {
color = c;
gearType = g;
door = d;
}
}
μμ±μλ 맀κ°λ³μλ₯Ό μ μΈνμ¬ νΈμΆ μ κ°μ λ겨λ°μ μΈμ€ν΄μ€μ μ΄κΈ°ν μμ μ μ¬μ©ν μ μλ€.
맀κ°λ³μλ₯Ό κ°λ μμ±μλ₯Ό μ¬μ©νλ κ²μ΄ μ½λλ₯Ό λ³΄λ€ κ°κ²°νκ³ μ§κ΄μ μΌλ‘ λ§λ λ€.
π‘ ν΄λμ€λ₯Ό μμ±ν λ λ€μν μμ±μλ₯Ό μ 곡ν¨μΌλ‘μ¨ μΈμ€ν΄μ€ μμ± νμ λ³λλ‘ μ΄κΈ°νλ₯Ό νμ§ μμλ λκ² νλ κ²μ΄ μ’λ€.
3. κΈ°λ³Έμμ±μ, 맀κ°λ³μ μμ±μ μμ
package chapter6;
public class Ex6_12 {
public static void main(String[] args) {
// μΈμ€ν΄μ€ μμ± ν iv κ° μ΄κΈ°ν
Car3 c1 = new Car3();
c1.color = "blue";
c1.gearType = "auto";
c1.door = 2;
System.out.println(c1.color + ',' + c1.gearType + ',' + c1.door);
// λ³λμ μ΄κΈ°ν μμ΄ μ¬μ© κ°λ₯
Car3 c2 = new Car3("white", "auto", 4);
System.out.println(c2.color + ',' + c2.gearType + ',' + c2.door);
}
}
class Car3 {
String color;
String gearType;
int door;
// κΈ°λ³Έ μμ±μ
Car3() {
}
// 맀κ°λ³μκ° μλ μμ±μ
Car3(String c, String g, int d) {
color = c;
gearType = g;
door = d;
}
}
λ€μν μμ±μλ₯Ό μ μν΄ μΈμ€ν΄μ€ λ³μμ μ΄κΈ°νλ₯Ό λ³΄λ€ κ°κ²°νκ³ μ§κ΄μ μΌλ‘ ν μ μλ€λ μ₯μ μ΄ μλ κ² κ°λ€.
λ€μ κ°λ μ 곡λΆνλ¬ ... βοΈ
μ°Έκ³ μμ : μλ°μμ μ κΈ°μ΄νΈ
'Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] κ°λ¨ν μ¬μΉ μ°μ° κ³μ°κΈ°μ ν΄λμ€, λ©μλ νμ©ν΄λ³΄κΈ° βοΈ (0) | 2024.12.05 |
---|---|
[Java] μλ° μ€μΊλ(Scanner) ν΄λμ€μ hasNext() / next() ν¨μ βοΈ (1) | 2024.11.15 |