1. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° νΉμ§
2. ν΄λμ€ μμ±
3. κ°μ²΄ μμ± λ° μ°Έμ‘°ν λ³μ
κ°μ²΄λ μΈμμ μ‘΄μ¬νλ 물체λ₯Ό λ»ν¨. μλ³μ΄ κ°λ₯ν κ²μ μλ―Ένλ€.
κ°μ²΄λ μμ±κ³Ό νμλ‘ κ΅¬μ±λμ΄ μλ€.(νΉμ§&νλ)
κ°μ²΄ μ€ μλμ°¨λ₯Ό μλ‘ λ€μ΄ 보면
- μμ±: νμ¬, λͺ¨λΈ, μμ±, κ°κ²©
- νμ: κ°μ, λΈλ μ΄ν¬, κΈ°μ΄λ³μ, μ‘°λͺ , κ²½μ
Javaμμλ μ΄λ¬ν μμ±κ³Ό νμλ₯Ό νλ, λ©μλλ‘ μ μνμ¬ κ΅¬νν μ μλ€.
μμ±: νλ / νλ: λ©μλ
- μ΄μ²λΌ νμ€ μΈκ³μ μλ κ°μ²΄λ₯Ό μννΈμ¨μ΄μ κ°μ²΄λ‘ μ€κ³νλ κ²μ 'κ°μ²΄ λͺ¨λΈλ§' μ΄λΌκ³ νλ€.
'κ°μ²΄κ°μ νλ ₯'
μ¬λμ΄λΌλ κ°μ²΄μ μλμ°¨λΌλ κ°μ²΄λ μλ‘ νμλ₯Ό ν΅ν΄ μνΈμμ©νλ©° νλ ₯ν μ μλ€.
ex) μ¬λμ΄ μλμ°¨μ νλ¬μ λ°μΌλ©΄ μλμ°¨λ μλλ₯Ό μ¬λ¦¬λ©° μμΌλ‘ μ΄λνλ€.
μννΈμ¨μ΄μμμ κ°μ²΄ κ° μνΈμμ©?
- νμλ₯Ό μ μνλ Java λ©μλλ₯Ό ν΅ν΄ μ΄λ£¨μ΄μ§λ€.
Car κ°μ²΄ μλ¨μ μ μλ λΆλΆμ΄ νλ, νλ¨μ μ μλ κ² λ©μλ
Person κ°μ²΄λ λ©μλλ₯Ό νΈμΆν λ ( ) κ΄νΈ μμ λ°μ΄ν°λ₯Ό λ£μ΄ νΈμΆν μ μλλ° μ΄ ν΄λΉ λ°μ΄ν°λ₯Ό νλΌλ―Έν° λλ 맀κ°κ° μ΄λΌκ³ νλ€.
νμ€ μΈκ³μμ μΈκ°μ΄ λ§μ κ΄κ³λ₯Ό λ§Ίκ³ μ΄μκ°λ―μ΄ μννΈμ¨μ΄μλ κ°μ²΄κ°μ κ΄κ³κ° μ‘΄μ¬νλ€.
λͺλͺ κ΄κ³ μ€μμλ κ°μ₯ μ€μν κ²μ "μμ κ΄κ³"
1. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° νΉμ§
1. μΊ‘μν: μ κ·Όμ μ΄μλ₯Ό μ¬μ©ν΄ μΊ‘μνλ₯Ό ν μ μλ€. (public, private)
- μΈλΆ κ°μ²΄μμ νλ, λ©μλ μ€μ¬μ©νμ¬ κ°μ²΄κ° λ³ννλ κ²μ λ§μ μ μλ€.
2. μμ: overriding
- λΆλͺ¨ κ°μ²΄κ° κ°κ³ μλ νλ, λ©μλλ₯Ό μμ κ°μ²΄κ° λ¬Όλ €λ°μ μ¬μ©ν μ μλ€.
- μ½λμ μ€λ³΅μ΄ μ€μ΄λ€κ³ μ¬μ¬μ©μ±μ΄ λμ΄λλ€.
3. λ€νμ±: μ¬κ΅¬μ±
- κΈ°μ‘΄ ν΄λμ€λ₯Ό ν λλ‘ λ€λ₯Έ κ°μ²΄λ₯Ό λ§λ€ λ κΈ°μ‘΄ ν΄λμ€μ λ©μλλ₯Ό μ¬μ μνμ¬ μ¬μ©ν μ μλ€.
4. μΆμν: κ°μ²΄μμ 곡ν΅λ λΆλΆμ λͺ¨μ μμ κ°λ μΌλ‘ μλ‘κ² μ μΈ
- 곡ν΅μ μ΄κ³ μ€μν κ²μ λͺ¨μ κ°μ²΄λ₯Ό λͺ¨λΈλ§νλ€. (μννΈμ¨μ΄ν μν¨λ€.)
- νμ€μΈκ³μ μλμ°¨κ° κ³΅ν΅μ μΌλ‘ κ°κ³ μλ Ex) κ°μ, λΈλ μ΄ν¬, μλ κ°μ κ²μ λͺ¨μ μλμ°¨ λΌλ κ°μ²΄λ₯Ό λͺ¨λΈλ§ ν μ μλ€.
5. κ°μ²΄μ ν΄λμ€
- κ°μ²΄λ₯Ό λ§λ€κΈ° μν΄μλ μ€κ³λκ° νμνλ€!
- μλ₯Ό λ€μ΄ νμ¬μμ μλμ°¨λ₯Ό λ§λ λ€κ³ νλ©΄ μλμ°¨ μ€κ³λλ₯Ό λ°νμΌλ‘ λ§λ€ κ²μ΄λ€. (μλμ°¨λ μ€μ²΄ μ€κ³λλ μ€μ²΄λ μλ.)
μννΈμ¨μ΄μμ μ΄ μ€κ³λμ ν΄λΉνλ λΆλΆμ΄ λ°λ‘ ν΄λμ€μ΄λ€. μ΄ ν΄λμ€λ₯Ό λ°νμΌλ‘ λ§λ€μ΄μ§ κ°μ²΄λ₯Ό ν΄λΉ ν΄λμ€μ μΈμ€ν΄μ€
λΌκ³ λΆλ₯΄λ©° μ΄ κ³Όμ μ μΈμ€ν΄μ€ν λΌκ³ νλ€.
- μλ₯Ό λ€μ΄ μλμ°¨ ν΄λμ€λ₯Ό λ³Έλ° λ§λ κ²μ μΈμ€ν΄μ€ λΌκ³ νλ€. μΈμ€ν΄μ€λ μ¬λ¬κ°κ° λ μ μκ³ μ΄ μΈμ€ν΄μ€ λ¬Άμμ΄ μλμ°¨κ°μ²΄ μ΄λ€!
2. ν΄λμ€ μμ±νκΈ°
- ν΄λμ€ μ μΈ, νλ μ μ, μμ±μ μ μ, λ©μλ μ μ
public class Car {
String company;
String model;
String color;
double price;
double speed;
char gear;
boolean lights; // -- νλ λΆλΆ
public Car() {} // κΈ°λ³Έ μμ±μ
double gasPedal(double kmh) { //맀κ°λ³μ kmhμ ν΅ν΄ κ°μ μ λ¬λ°μ
speed = kmh; //μλμ°¨μ μμ±μΈ speed νλμ ν΄λΉ κ° μ μ₯!
return speed;
}
double brakePedal() {
speed = 0;
return speed;
}
char changeGear(char type) {
gear = type;
return gear;
}
boolean onOffLights() {
lights = !lights;
return lights;
}
void horn() {
System.out.println("λΉ΅λΉ΅"); //--λ©μλ λΆλΆ
}
}
3. κ°μ²΄ μμ±κ³Ό μ°Έμ‘°ν λ³μ
new Car(); //Car ν΄λμ€ κ°μ²΄ μμ±
Car car1 = new Car();
Car car2 = new Car(); //Car ν΄λμ€μ κ°μ²΄μΈ car1, 2 μΈμ€ν΄μ€ μμ±
- new μμ±μλ₯Ό ν΅ν΄ κ°μ²΄κ° μμ±λλ©΄ μΈμ€ν΄μ€μ μ£Όμκ° λ°νλκΈ° λλ¬Έμ ν΄λΉ ν΄λμ€μ μ°Έμ‘°ν λ³μλ₯Ό μ¬μ©νμ¬ λ°μ μ μλ€.
- ν΄λμ€λ₯Ό ν΅ν΄ λ§λ κ°μ²΄ λν λ³μμ΄λ€.
3-1. κ°μ²΄μ νλ
κ³ μ , μν, κ°μ²΄ ν¬κ² μΈκ°μ§λ‘ λΆλ₯ κ°λ₯
- μν λ°μ΄ν°μ κ²½μ° get, set λ±μ μνλ₯Ό λ³νν΄μ£Όλ λ©μλκ° νμ.
#ν΄λμ€μ μ μλλ€κ³ ν΄μ λ°λ‘ μ¬μ©ν μ μλ κ²μ μλλ€.
3-2. κ°μ²΄μ λ©μλ (ν¨μ)
- μΈλΆ μ κ·Ό: λνΈ μ°μ°μ μ¬μ©
- λ΄λΆ μ κ·Ό: λ°λ‘ μ¬μ©
- λ©μλ μ μΈμ return κ°μ΄ μλ€λ©΄ void ννλ‘ μ μΈ
double breakPedal() {...} // double νμ
λ°ν
void horn() {...} // λ°νν κ° x.
- μ€λ²λ‘λ©: λκ°μ λ©μλ μ΄λ¦μ κ°μ§λ§ 맀κ°λ³μ κ°μ λ€λ₯΄κ² μ£Όλ©΄μ κΈ°λ₯μ λ¬λ¦¬ νλ κ². ex) println( )
'JavaStudy' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
TIL JAVA #3-3 (0) | 2023.12.01 |
---|---|
TIL JAVA #3-2 (3) | 2023.12.01 |
TIL JAVA #2-4 (1) | 2023.10.20 |
TIL JAVA #2-3 (0) | 2023.10.19 |
TIL JAVA #2-2 (3) | 2023.10.19 |