1. κ°μ²΄μ§ν₯ ?
- κ°λ : μννΈμ¨μ΄ κ°μ²΄λ νμ€ μΈκ³μ κ°μ²΄λ₯Ό νλμ λ©μλλ‘ λͺ¨λΈλ§ν κ²
μννΈμ¨μ΄ κ°μ²΄λ νλ(Field)λ‘ μ μνκ³ , λμμ λ©μλ(Method)λ‘ μ μ
νλλ κ°μ²΄ λ΄λΆμ μ μΈλ λ³μλ₯Ό μλ―Ένκ³ , λ©μλλ κ°μ²΄ λ΄λΆμ μ μλ λμ
- νλ‘κ·Έλλ° : μννΈμ¨μ΄μ κ·λͺ¨κ° 컀μ§λ©΄μ λμκ³Ό λΆλ¦¬λμ΄ μ κ³Όμ μμ μλ‘ λ³΅μ‘νκ² μ½ν μλ λ°μ΄ν°λ₯Ό μ¬μ©νκΈ° λλ¬Έμ μ ν μ§ν₯ νλ‘κ·Έλλ° λ°©μμ νκ³λ‘ μμ±
μ μ°¨ μ§ν₯ νλ‘κ·Έλ¨μ μΆν λ³κ²½νκ±°λ νμ₯νκΈ°λ μ΄λ €μ
νμ€μΈκ³λ₯Ό κ°μ²΄ λ¨μλ‘ νλ‘κ·Έλλ°νλ©°, κ°μ²΄λ νλμ λ©μλλ₯΄ νλλ‘ λ¬Άμ΄ νν
- νΉμ§(μ 보μ²λ¦¬κΈ°μ¬ λ¬Έμ λ‘λ μμ£Ό μΆμ λ¨!!)
1. μΊ‘μν(μ 보μλ) : κ΄λ ¨λ νλμ λ©μλλ₯Ό νλμ μΊ‘μμ²λΌ ν¬μ₯ν΄ μΈλΆ λ΄μ©μ μΈλΆμμ μ μ μλλ‘ κ°μΆλ κ²
2. μμ : μλ κ° λΆλͺ¨ μ¬μ°μ μμλ°μ μ¬μ©νλ―μ΄ μμ κ°μ²΄λ₯Ό μμλ°μ νμ κ°μ²΄κ° μμ κ°μ²΄μ λ©μλμ νλλ₯Ό μ¬μ©νλ κ²
3. λ€νμ± : λμ λλ κ°μ²΄μ λ°λΌμ λ©μλλ₯Ό λ€λ₯΄κ² λμνλλ‘ κ΅¬ννλ κΈ°μ , μ€ν λμ€ λμΌν μ΄λ¦μ λ€μν ꡬν체 μ€μμ λ©μλλ₯Ό μ ν κ°λ₯(λ€μμ±κ³Όλ λ€λ¦)
4. μΆμν : νμ€ μΈκ³μ κ°μ²΄μμ λΆνμν μμ±μ μ κ±°νκ³ μ€μν μ λ³΄λ§ ν΄λμ€λ‘ νννλ μΌμ’ μ λͺ¨λΈλ§ κΈ°λ²
- ν΄λμ€ μ μΈ
class ν΄λμ€ μ΄λ¦ { => ν΄λμ€λ₯Ό μ μΈνκΈ° μν ν€μλ
// νλ => κ°μ²΄μ μμ±μ λνλΈλ€
// λ©μλ => κ°μ²΄μ λμμ λνλΈλ€
ex)
public class Ball {
double radius = 2.0;
double getVolume() {
return 4 / 3 * 3.14 * radius * radius * radius;
}
}
public : ν΄λμ€ μ κ·Ό κΆνμΌλ‘ λꡬλ μ¬μ©ν μ μλ€
class : ν΄λμ€ ν€μλ
Ball : ν΄λμ€ μ΄λ¦μΌλ‘ μμ€ νμΌ μ΄λ¦κ³Ό λμΌν΄μΌ νλ€
double radius = 2.0; : νλ
return 4 / 3 * 3.14 *radius * radius * radius; => λ©μλ : () κ° λ€μ΄κ°λ©΄ λ©μλλΌκ³ μκ°νκΈ°
- κ°μ²΄ μμ±κ³Ό μ°Έμ‘° λ³μ
- ν λ¬Έμ₯μΌλ‘ λ³μ μ μΈκ³Ό κ°μ²΄ μμ±
ν΄λμ€ μ΄λ¦ λ³μ = new ν΄λμ€ μ΄λ¦();
- μμ±μ μ΄λ¦μ ν΄λμ€ μ΄λ¦κ³Ό κ°λ€
- μμ±μμ λ°ν νμ μ μλ€
- μμ±μλ new μ°μ°μμ ν¨κ» μ¬μ©νλ©°, κ°μ²΄λ₯Ό μμ±ν λ νΈμΆνλ€
- μμ±μλ μ€λ²λ‘λ© ν μ μλ€.(μ€λ²λ‘λ©(Overloading) : κ°μ μ΄λ¦μ λ©μλ μ¬λ¬κ°λ₯Ό κ°μ§λ©΄μ 맀κ°λ³μμ μ νκ³Ό κ°μκ° λ€λ₯΄λλ‘ νλ κΈ°μ )
- ν΄λμ€ μ μΈκ³Ό κ°μ²΄ μμ± μμ λ¬Έμ (κΈ°μ΄ νμ κ³Ό μ°Έμ‘°νμ )
package java0316;
public class PhoneDemo {
public static void main(String[] args) {
Phone myPhone = new Phone();
myPhone.model = "κ°€λμ S8";
myPhone.value = 100;
myPhone.print();
Phone yourPhone = new Phone();
yourPhone.model = "G6";
yourPhone.value = 85;
yourPhone.print();
}
}
class Phone {
String model;
int value;
void print() {
System.out.println(value + "λ§μ μ§λ¦¬" + model + "μ€λ§νΈν°");
}
}
κ²°κ³Όλ μ΄λ μ΅λλ€!!
100λ§μ μ§λ¦¬κ°€λμ S8μ€λ§νΈν°
85λ§μ μ§λ¦¬G6μ€λ§νΈν°
- νλμ μ§μ λ³μμ μ°¨μ΄ : νλλ κΈ°λ³Έ κ°μ΄ μμ§λ§, μ§μ λ³μλ κΈ°λ³Έ κ°μ΄ μμ΄ λ°λμ μ΄κΈ°ν(κΈ°λ³Έκ°μ΄ 0)
νλλ ν΄λμ€ μ 체μμ μ¬μ©ν μ μμ§λ§, μ§μ λ³μλ μ μΈλ λΈλ‘ λ΄λΆμ μ μΈλ νμμλ§ μ¬μ© κ°λ₯
νλμ λ¬λ¦¬ μ§μ λ³μλ finalλ‘λ§ μ§μ κ°λ₯ (λ°°μ΄μμλ§ nullκ°μ κ°μ§)
- μ κ·Όμμ μ€μ μ
νμμ± : ν΄λμ€ λ΄λΆμ μΊ‘μνλ λ©€λ²λ₯Ό μΈλΆμμ μ¬μ©ν νμ
μ κ·Όμμ μ€μ μ
privateμΌλ‘ μ§μ λ νλμ κ°μ λ°ννλ μ κ·Όμμ κ°μ λ³κ²½νλ μ€μ μλ 곡κ°λ λ©μλ
μΌλ°μ μΌλ‘ μ κ·Όμλ get, μ€μ μλ setμΌλ‘ μμνλ μ΄λ¦μ μ¬μ©
νλ μ΄λ¦μ μΈλΆμ μ°¨λ¨ν΄μ λ 립μν€κΈ° λλ¬Έμ νλ μ΄λ¦ λ³κ²½μ΄λ λ°μ΄ν° κ²μ¦λ κ°λ₯
package java0316;
public class CircleDemo2 {
public static void main(String[] args) {
Circle1 myCircle = new Circle1();
myCircle.setRadius(10.0);
myCircle.show(myCircle.getRadius(), myCircle.findArea());
}
}
class Circle1 {
private double radius;
public double getRadius() {
return radius;
}
public void setRadius(double r) {
this.radius = r;
}
double findArea() {
return 3.14 * radius * radius;
}
void show(double x, double y) {
System.out.printf("λ°μ§λ¦ = %.1f, λμ΄ = %.1f\n", x, y);
}
}
κ²°κ³Όλ ) λ°μ§λ¦ = 10.0, λμ΄ = 314.0
- λν΄νΈ μμ±μ
- λͺ¨λ ν΄λμ€λ μ΅μν νλμ μμ±μκ° μμ
- λ§μ½ μμ±μλ₯Ό μ μΈνμ§ μμΌλ©΄ μ»΄νμΌλ¬κ° μλμΌλ‘ λν΄νΈ μμ±μλ₯Ό μΆκ°