π Chapter 06: ν΄λμ€μ κ°μ²΄
π Chapter 06: ν΄λμ€μ κ°μ²΄
πΉ 06-1 κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°
β κ°μ²΄λ?
-
κ°μ²΄λ μμ±(νλ)κ³Ό λμ(λ©μλ)μΌλ‘ ꡬμ±λ¨
-
κ°μ²΄ κ°μλ λ©μλλ₯Ό ν΅ν΄ μνΈμμ©ν¨
β κ°μ²΄ κ°μ κ΄κ³
| κ΄κ³ μ’ λ₯ | μ€λͺ | μμ | |ββββ|ββ|ββ|
| μ§ν© κ΄κ³ | κ°μ²΄κ° λΆνμ²λΌ ν¬ν¨λλ κ΄κ³ | μλμ°¨ - μμ§, νμ΄μ΄ |
| μ¬μ© κ΄κ³ | κ°μ²΄κ° λ€λ₯Έ κ°μ²΄λ₯Ό μ¬μ©νλ κ΄κ³ | μ¬λ - μλμ°¨ |
| μμ κ΄κ³ | λΆλͺ¨ κ°μ²΄λ₯Ό κΈ°λ°μΌλ‘ μμ κ°μ²΄ μμ± | λΆλͺ¨ ν΄λμ€ - μμ ν΄λμ€ |
β ν΄λμ€μ κ°μ²΄
-
ν΄λμ€: κ°μ²΄λ₯Ό λ§λ€κΈ° μν μ€κ³λ
-
κ°μ²΄: ν΄λμ€λ‘λΆν° μμ±λ μΈμ€ν΄μ€
-
νλμ ν΄λμ€λ‘ μ¬λ¬ κ°μ²΄ μμ± κ°λ₯
β ν΄λμ€ μ μΈ κ·μΉ
-
ν΄λμ€ μ΄λ¦μ λλ¬Έμλ‘ μμ (CamelCase)
-
μλ³μ κ·μΉμ λ°λ¦ (μ«μλ‘ μμ β, νΉμλ¬Έμ β, 곡백 β)
-
ν μμ€ νμΌμ νλμ public ν΄λμ€ κΆμ₯
π public μ κ·Ό μ νμ
- μμ€ νμΌλͺ
κ³Ό λμΌν ν΄λμ€μλ§
publicμ¬μ© κ°λ₯
β ν΄λμ€ κ΅¬μ± λ©€λ²
-
νλ: κ°μ²΄μ λ°μ΄ν°, μν μ 보
-
μμ±μ: κ°μ²΄ μ΄κΈ°ν
-
λ©μλ: κ°μ²΄μ λμ
β κ°μ²΄ μμ± μμ
Car myCar = new Car();
πΉ 06-2 νλ (Field)
β νλλ?
- κ°μ²΄μ κ³ μ λ°μ΄ν°, λΆν κ°μ²΄, μν μ 보 μ μ₯
β νλ μ μΈ λ°©λ²
νμ
νλλͺ
= μ΄κΈ°κ°;
-
ν΄λμ€ λΈλ‘ λ΄ μ΄λμλ μ μΈ κ°λ₯
-
μμ±μ/λ©μλ λ΄λΆμμλ β (λ‘컬 λ³μ)
π νμ λ³ κΈ°λ³Έ μ΄κΈ°κ°
| νμ | κΈ°λ³Έκ° | |ββ|βββ|
| int | 0 |
| double | 0.0 |
| boolean | false |
| String (μ°Έμ‘°ν) | null |
β νλ μ¬μ© λ°©λ²
-
ν΄λμ€ λ΄λΆ: λ¨μν μ΄λ¦μΌλ‘ μ κ·Ό
-
ν΄λμ€ μΈλΆ: κ°μ²΄ μμ± ν
.μ°μ°μ μ¬μ©
Car myCar = new Car();
myCar.speed = 60;
πΉ 06-3 μμ±μ (Constructor)
β μμ±μλ?
-
κ°μ²΄ μμ± μ μ΄κΈ°νλ₯Ό λ΄λΉνλ νΉμν λΈλ‘
-
ν΄λμ€μ μ΄λ¦ λμΌ, 리ν΄νμ μμ
class Car {
Car() {
// μμ±μ μ½λ
}
}
β κΈ°λ³Έ μμ±μ
-
λ§€κ°λ³μ μλ μμ±μ
-
ν΄λμ€κ°
publicμ΄λ©΄ μμ±μλpublic
public class Car {
public Car() {
// κΈ°λ³Έ μμ±μ
}
}
β λͺ μμ μμ±μ μ¬μ© μμ
class Car {
String model;
Car(String m) {
model = m;
}
}
Car myCar = new Car("Sonata");
β this ν€μλ μ¬μ© μμ
class Car {
String model;
Car(String model) {
this.model = model;
}
}
β μμ±μ μ€λ²λ‘λ©
- μμ±μ μ¬λ¬ κ° μ μ (λ§€κ°λ³μ νμ /μ/μμ λ€λ₯΄κ²)
class Car {
Car() {}
Car(String model) {}
Car(String model, int year) {}
}
β
μμ±μ κ° νΈμΆ - this()
class Car {
String model;
int year;
Car(String model) {
this(model, 2025); // λ€λ₯Έ μμ±μ νΈμΆ
}
Car(String model, int year) {
this.model = model;
this.year = year;
}
}