μ€λ ν κ²
- μκ³ λ¦¬μ¦ λ¬Έμ (SQL, μλ°) 1λ¬Έμ νμ΄ & λΈλ‘κ·Έ μ 리
- Java κΈ°μ΄ μΈμ λ£κΈ°
- μ»€λ¦¬μ΄ μ½μΉ μλ΄
- Java λ¬Έλ² μ’ ν©λ°_3μ£Όμ°¨ λ£κΈ°
λ°°μ΄ λ΄μ© μ 리
μ€κ³λ(ν΄λμ€)
κ°μ²΄
- μΈμμ μ‘΄μ¬νλ 물체, μλ³μ΄ κ°λ₯ν κ²μ μλ―Ένλ€.
- ex) μλμ°¨, λμκ΄, κ³μ°κΈ°... κ°μ, λ°°λ¬ μ£Όλ¬Έ, μ΄λ
- κ°μ²΄λ μμ±(νΉμ§)κ³Ό νμ(νλ)λ‘ κ΅¬μ±λμ΄ μλ€.
- μλμ°¨μ νμ¬, λͺ¨λΈ, μμ, κ°κ²© - μμ±
- μλμ°¨μ κ°μ, λΈλ μ΄ν¬, κΈ°μ΄ λ³μ - νμ
- Javaμμλ μμ±κ³Ό νμλ₯Ό νλμ λ©μλλ‘ μ μνμ¬ κ΅¬νν μ μλ€.
- κ°μ²΄ λͺ¨λΈλ§ : νμ€ μΈκ³μ μλ κ°μ²΄λ₯Ό μννΈμ¨μ΄μ κ°μ²΄λ‘ μ€κ³νλ κ²
κ°μ²΄ κ°μ νλ ₯
- νμ€ μΈκ³μμ μ¬λμ΄λΌλ κ°μ²΄μ μλμ°¨λΌλ κ°μ²΄λ μλ‘ νμλ₯Ό ν΅ν΄ μνΈμμ©μ νλ©° νλ ₯ν μ μλ€.
- Javaμμλ νμλ₯Ό μ μνλ λ©μλλ₯Ό ν΅ν΄ μ΄λ£¨μ΄μ§λ€.
→ κ°μ²΄λ€λΌλ¦¬ λ©μλλ₯Ό νΈμΆμν€λ©΄μ μνΈμμ©νλ€.
- μ¬λ κ°μ²΄λ μλμ°¨ κ°μ²΄κ° κ°μ§κ³ μλ κ°μ νλ¬μ΄λΌλ λ©μλ gasPedal( ); λ₯Ό νΈμΆνλ€.
- μλμ°¨ κ°μ²΄λ μ΄μ λ°μνμ¬ μλ μμ±μ κ°μ μ¦κ°μν¨λ€.
- μ¬λ κ°μ²΄λ μλμ°¨ κ°μ²΄κ° κ°μ§κ³ μλ λΈλ μ΄ν¬ νλ¬μ΄λΌλ λ©μλ brakePedal( ); λ₯Ό νΈμΆνλ€.
- μλμ°¨ κ°μ²΄λ μ΄μ λ°μνμ¬ μλ μμ±μ κ°μ κ°μμν¨λ€.
- μ¬λ κ°μ²΄λ μλμ°¨ κ°μ²΄κ° κ°μ§κ³ μλ κ°μ νλ¬μ΄λΌλ λ©μλ gasPedal( ); λ₯Ό νΈμΆνλ€.
- λ©μλλ₯Ό ν΅ν΄ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°μ μλ μλ€.
- μ¬λ κ°μ²΄λ gasPedal(50); μ²λΌ 맀κ°λ³μ μμ 50μ΄λΌλ 맀κ°κ°μ λ£μ΄ νΈμΆνλ€.
- μλμ°¨ κ°μ²΄λ ν΄λΉνλ 50μ λ°μ΄ν°λ₯Ό μ λ¬λ°μ μλμ°¨ κ°μ²΄μ μμ±μΈ μλμ κ°μ 50μΌλ‘ λ§λ λ€.
βοΈ μ°Έκ³ - 맀κ°κ°κ³Ό 맀κ°λ³μλ κ°μ κ²μΈκ°?
NOPE! λμ λ€λ₯Έ κ°λ μ΄λ€.
맀κ°λ³μμ κ΄νΈ μμ 맀κ°κ°μ λ£λ κ²μ΄λΌκ³ μκ°νλ©΄ λλ€.
κ°μ²΄ κ°μ κ΄κ³
- μ¬μ© κ΄κ³
- ν¬ν¨ κ΄κ³
- μμ κ΄κ³
- νμ κ°μ²΄μμ 곡ν΅λ κΈ°κ³μμ€ν μ μ΄μ©νλ€κ³ κ°μ νλ©΄ κΈ°κ³μμ€ν κ°μ²΄λ₯Ό μμ± ν λ΄λ €λ°μμ μ¬μ©νλ€κ³ μκ°νλ©΄ λλ€.
κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ νΉμ§
- μΊ‘μν → 보μ λλ¬Έμ μ€μνλ€.
- μμ±(νλ)μ νμ(λ©μλ)λ₯Ό νλλ‘ λ¬Άμ΄ κ°μ²΄(=encapsulation)λ‘ λ§λ ν μ€μ λ΄λΆ ꡬν λ΄μ©μ μΈλΆμμ μ μ μκ² κ°μΆλ κ²μ μλ―Ένλ€.
- νμνμ§ μμ κ²μ κ΅³μ΄ μΈλΆλ‘ λ ΈμΆμν€μ§ μμμ νΌλμ μ€μ΄λ μν μ΄ κ°λ₯νλ€.
- μΊ‘μννμ¬ μ©κΈ°λ μ΄μ λ μΈλΆ κ°μ²΄μμ ν΄λΉ νλμ λ©μλλ₯Ό μλͺ» μ¬μ©νμ¬ κ°μ²΄κ° λ³ννμ§ μκ² νλ λ° μλ€.
- λ ΈμΆμν¬μ§ κ°μΆμ§ κ²°μ νκΈ° μν΄ μ κ·Ό μ μ΄μ(public, private, default)λ₯Ό μ¬μ©νλ€.
- μμ
- κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μλ λΆλͺ¨ κ°μ²΄μ μμ κ°μ²΄κ° νμ μ‘΄μ¬νλ€.
- λΆλͺ¨ κ°μ²΄λ κ°μ§κ³ μλ νλμ λ©μλλ₯Ό μμ κ°μ²΄μ λ¬Όλ €μ£Όμ΄ μμ κ°μ²΄κ° μ΄λ₯Ό μ¬μ©ν μ μλλ‘ λ§λ€ μ μλ€. (overriding)
- μμμ νλ μ΄μ
- κ°μ²΄ κ°μ ꡬ쑰λ₯Ό νμ νκΈ° μ¬μμ§λ€.
- μΌκ΄μ±μ μ μ§νκΈ° μ’λ€.
- μ½λμ μ€λ³΅μ΄ μ€μ΄λ€λ©° μ½λμ μ¬μ¬μ©μ±μ΄ μ¦κ°λλ€.
- λ€νμ±
- νλμ νμμ λν΄ κ° κ°μ²΄κ° κ°μ§κ³ μλ κ³ μ ν νΉμ±μ λ°λΌ λ€λ₯Έ μ¬λ¬κ°μ§ ννλ‘ μ¬κ΅¬μ±λλ κ²μ μλ―Ένλ€.
- κ°κ° ꡬνλλ κ°μ²΄λ€μ λ€μν ννμ λ©μλλ₯Ό κ°μ Έκ° μ μλ€.
- μΆμν
- κ°μ²΄μμ 곡ν΅λ λΆλΆλ€μ λͺ¨μ μμ κ°λ
μΌλ‘ μλ‘κ² μ μΈνλ κ²μ΄λ€.
- 곡ν΅μ μ΄κ³ μ€μν κ²λ€μ λͺ¨μ κ°μ²΄λ₯Ό λͺ¨λΈλ§νλ€.
- λ°λ³΅λκ³ κ³΅ν΅λλ μμ± → μΆμν μμΌλκ³ μ¬λ¬ κ΅°λ°μμ κ°μ Έλ€ μ°λ©΄μ ꡬ체νλ₯Ό μμΌλκ°λ κ³Όμ μΌλ‘ λͺ¨λΈλ§νλ€.
- κ°μ²΄μμ 곡ν΅λ λΆλΆλ€μ λͺ¨μ μμ κ°λ
μΌλ‘ μλ‘κ² μ μΈνλ κ²μ΄λ€.
κ°μ²΄μ ν΄λμ€
- κ°μ²΄λ₯Ό μμ±νκΈ° μν΄μ μ€κ³λ(ν΄λμ€)κ° νμνλ€.
- ν΄λμ€λ₯Ό ν λλ‘ μμ±λ κ°μ²΄λ₯Ό ν΄λΉ ν΄λμ€μ μΈμ€ν΄μ€λΌκ³ λΆλ₯΄κ³ μ΄ κ³Όμ μ μΈμ€ν΄μ€νλΌκ³ λΆλ₯Έλ€.
- class ν΄λμ€μ΄λ¦ → κ°μ²΄λ₯Ό λ§λ€κΈ° μν μ€κ³λ
- λμΌν ν΄λμ€λ‘ μ¬λ¬ κ°μ μΈμ€ν΄μ€λ₯Ό λ§λ€ μ μλ€.
ν΄λμ€ μ€κ³
4 STEP
- λ§λ€λ €κ³ νλ μ€κ³λλ₯Ό μ μΈνλ€. (ν΄λμ€ μ μΈ)
- κ°μ²΄κ° κ°μ§κ³ μμ΄μΌ ν μμ±(νλ)μ μ μνλ€.
- κ°μ²΄λ₯Ό μμ±νλ λ°©μμ μ μνλ€. (μμ±μ)
- κ°μ²΄κ° κ°μ§κ³ μμ΄μΌ ν νμ(λ©μλ)λ₯Ό μ μνλ€.
package week3;
public class Car { // 1. ν΄λμ€ μ μΈ
// <νλ μμ>
// 1) κ³ μ λ°μ΄ν° μμ
String company; // μλμ°¨ νμ¬
String model = "Gv80"; // μλμ°¨ λͺ¨λΈ
String color; // μλμ°¨ μ
double price; // μλμ°¨ κ°κ²©
// 2) μν λ°μ΄ν° μμ
double speed; // μλμ°¨ μλ, km/h
char gear; // κΈ°μ΄μν(P, R, N, D)
boolean lights = true; // μλμ°¨ μ‘°λͺ
μ μν
// 3) κ°μ²΄ λ°μ΄ν° μμ
Tire tire = new Tire();
Door door;
Handle handle;
// <μμ±μ μμ>
// μμ±μ : μ²μ κ°μ²΄κ° μμ±λ λ(instanceν) μ΄λ€ λ‘μ§μ μνν΄μΌ νλ©°, μ΄λ€ κ°μ΄ νμλ‘ λ€μ΄μμΌ νλμ§ μ μ!
public Car () {
// logic
// κΈ°λ³Έ μμ±μ : μλ΅μ΄ κ°λ₯
System.out.println("μμ±μκ° νΈμΆλμμ΅λλ€! κ°μ²΄κ° μμ±λ©λλ€.");
}
// <λ©μλ μμ>
// gasPedal
// input : kmh
// output : speed
double gasPedal (double kmh, char type) {
changeGear(type); // κ°μλ νλ¬μ λ°μΌλ©΄ μλμΌλ‘ κΈ°μ΄κ° λ³νλ€.
speed = kmh;
return speed;
}
// breakPedal
// input : x
// output : speed
double brakePedal () {
speed = 0;
return speed;
}
// changeGear
// input : gear(char type)
// output : gear
char changeGear (char type) {
gear = type;
return gear;
}
// onOffLights
// input : x
// output : lights(boolean)
boolean onOffLights () {
lights = !lights;
return lights;
}
// horn
// input : x
// output : x
void horn () {
System.out.println("λΉ΅λΉ΅!");
}
// μλμ°¨μ μλ ... κ°λ³κΈΈμ΄ λ©μλ
void carSpeeds (double ... speeds) {
for (double v : speeds) {
System.out.println("v = " + v);
}
}
}
κ°μ²΄ μμ±κ³Ό μ°Έμ‘°ν λ³μ
κ°μ²΄ μμ±
new Car(); // Car ν΄λμ€ κ°μ²΄ μμ±
- μμ±μλ₯Ό νΈμΆνκΈ° μν΄μ new ν€μλ μ΄μ©νλ€.
- new : μλ‘μ΄ κ°μ²΄λ₯Ό λ§λ€μ΄λ¬λΌλ λͺ λ Ήμ΄μ΄λ€.
μ°Έμ‘°ν λ³μ
Car car1 = new Car(); // Car ν΄λμ€μ κ°μ²΄μΈ car1 μΈμ€ν΄μ€ μμ±
Car car2 = new Car(); // Car ν΄λμ€μ κ°μ²΄μΈ car2 μΈμ€ν΄μ€ μμ±
κ°μ²΄μ μμ± - νλ
νλ
- κ°μ²΄μ λ°μ΄ν°λ₯Ό μ μ₯νλ μν μ νλ€.
- κ°μ²΄μ νλλ ν¬κ² κ³ μ ν λ°μ΄ν°, μν λ°μ΄ν°, κ°μ²΄ λ°μ΄ν°λ‘ λΆλ₯ν μ μλ€.
νλμ μ΄κΈ°κ°κ³Ό μ΄κΈ°ν
- κΈ°λ³Έμ μΌλ‘ μ΄κΈ°κ°μ μ 곡νμ§ μμ κ²½μ° κ°μ²΄κ° μμ±λ λ μλμΌλ‘ κΈ°λ³Έκ°μΌλ‘ μ΄κΈ°νλλ€.
- String model = "Gv80"; κ³Ό κ°μ΄ 'νλνμ νλλͺ = κ°'μΌλ‘ μ§μ μ΄κΈ°ν ν μ μλ€.
νλ μ¬μ©λ°©λ²
- νλλ₯Ό μ¬μ©νλ€ → νλμ κ°μ λ³κ²½νκ±°λ μ½λλ€.
- ν΄λμ€μ νλλ₯Ό μ μνμ¬ μ μΈνλ€κ³ ν΄μ λ°λ‘ μ¬μ©ν μ μλ κ²μ μλλ€.
→ μΈμ€ν΄μ€νλ₯Ό μμΌμΌ μ¬μ©ν μ μλ€.. - ν΄λμ€λ μ€κ³λμΌ λΏ μ€μ λ‘ νλμ λ°μ΄ν°λ₯Ό κ°μ§κ³ μλ κ²μ κ°μ²΄μ΄λ€.
- κ°μ²΄λ₯Ό μμ±ν ν νλλ₯Ό μ¬μ©ν μ μλ€.
μΈλΆ μ κ·Ό
Car car = new Car();
car.color = "blue";
- κ°μ²΄μ λ΄λΆ νλμ μ κ·Όνλ λ°©λ² : λνΈ(.) μ°μ°μλ₯Ό μ¬μ©νλ€.
λ΄λΆ μ κ·Ό
double brakePedal () {
speed = 0;
return speed;
}
- κ°μ²΄ λ΄λΆ λ©μλμμλ λ΄λΆ νλμ μ κ·Όν μ μλ€.
μμ
package week3;
public class Main {
public static void main(String[] args) {
Car car = new Car(); // κ°μ²΄ μμ±
System.out.println("νλ¬ λ°κΈ° μ car.gear = " + car.gear);
// λ©μλ νΈμΆ λ° λ°νκ°μ μ μ₯
double speed = car.gasPedal(100, 'D');
System.out.println("speed = " + speed);
boolean lights = car.onOffLights();
System.out.println("lights = " + lights);
System.out.println();
System.out.println("νλ¬ λ°μ ν car.gear = " + car.gear);
System.out.println();
car.carSpeeds(100, 80);
System.out.println();
car.carSpeeds(110, 120, 150);
}
}
κ°μ²΄μ νμ - λ©μλ
- κ°μ²΄μ νμλ₯Ό λ»νλ©° κ°μ²΄ κ°μ νλ ₯μ μν΄ μ¬μ©λλ€.
- λΈλ‘{ } λ΄λΆμ μ€νν νμλ₯Ό μ μνλ©΄ λλ€.
λ©μλ μ μΈ
리ν΄νμ
λ©μλλͺ
(맀κ°λ³μ, ...) {
μ€νν μ½λ μμ±
}
λ¦¬ν΄ νμ
double brakePedal () {...} // double νμ
λ°ν
char changeGear (char type) {...} // char νμ
λ°ν
boolean onOffLights () {...} // boolean νμ
λ°ν
void horn () {...} // λ°νν κ° μμ
- λ¦¬ν΄ νμ
: λ©μλκ° μ€νλ ν νΈμΆμ ν κ³³μΌλ‘ κ°μ λ°νν λ ν΄λΉ κ°μ νμ
μ μλ―Ένλ€.
- λ©μλμ 리ν΄νμ μ μ μΈνμ¬ λ°νν κ°μ΄ μλ€λ©΄ λ°λμ return λ¬ΈμΌλ‘ ν΄λΉνλ 리ν΄νμ μ λ°νκ°μ μ§μ ν΄μ€μΌ νλ€.
- λ°νν κ°μ΄ μμ λλ 리ν΄νμ μ voidλ₯Ό μμ±νλ€.
λ§€κ° λ³μ
double gasPedal (double kmh, char type) {
speed = kmh;
return speed;
}
- 맀κ°λ³μλ λ©μλλ₯Ό νΈμΆν λ λ©μλλ‘ μ λ¬νλ €λ κ°μ λ°κΈ° μν΄ μ¬μ©λλ λ³μμ΄λ€.
- ν΄λΉ 맀κ°λ³μμ κ°μ μ λ¬νκΈ° μν΄μλ μμμ νμ μ λ§μΆ° κ°μ λ£μ΄μ£Όλ©΄ λλ€.
- μ λ¬νλ €λ κ°μ΄ μλ€λ©΄ μλ΅ κ°λ₯νλ€.
- κ°λ³(λ³ν μ μλ) κΈΈμ΄μ 맀κ°λ³μλ μ μΈν μ μλ€.
void carSpeeds (double ... speeds) {
for (double v : speeds) {
System.out.println("v = " + v);
}
}
- κ°λ³μΌλ‘ μ²λ¦¬νκΈ° μν΄μ forλ¬Έμ΄ νμνλ€.
λ©μλ νΈμΆ λ°©λ²
- λ©μλλ₯Ό νΈμΆνλ€ : λ©μλμ λΈλ‘ λ΄λΆμ μμ±λ μ½λλ₯Ό μ€ννλ€λ μλ―Έμ΄λ€. → ( ) μμ κ°μ μ ννκ² μ λ ₯ν΄μΌ νλ€.
- ν΄λμ€μ λ©μλλ₯Ό μ μνμ¬ μ μΈνλ€κ³ ν΄μ λ°λ‘ μ¬μ©ν μ μλ κ²μ μλλ€.
- ν΄λμ€λ μ€κ³λμΌ λΏ λ©μλλ κ°μ²΄μ νμλ₯Ό μ μν κ²μ΄λ€.
- κ°μ²΄λ₯Ό μμ±ν νμ λ©μλλ₯Ό μ¬μ©ν μ μλ€.
λ°νκ° μ μ₯
- λ©μλμ 리ν΄νμ μ μ μΈνμ¬ λ°νν κ°μ΄ μλ€λ©΄ λ³μλ₯Ό μ¬μ©νμ¬ λ°μμ€ μ μλ€.
- λ°λμ 리ν΄νμ κ³Ό λ³μμ νμ μ΄ λμΌνκ±°λ μλ νμ λ³νλ μ μμ΄μΌ νλ€.
double speed = car.gasPedal(100, 'D');
λ©μλ μ€λ²λ‘λ©
μ€λ²λ‘λ© : ν¨μκ° νλμ κΈ°λ₯λ§μ ꡬννλ κ²μ΄ μλλΌ νλμ λ©μλ μ΄λ¦μΌλ‘ μ¬λ¬ κΈ°λ₯μ ꡬννλλ‘ νλ Javaμ κΈ°λ₯μ΄λ€.
ν ν΄λμ€ λ΄μ μ΄λ―Έ μ¬μ©νλ €λ μ΄λ¦κ³Ό κ°μ μ΄λ¦μ κ°μ§ λ©μλκ° μλλΌλ, 맀κ°λ³μμ κ°μ λλ νμ
, μμκ° λ€λ₯΄λ©΄ λμΌν μ΄λ¦μ μ¬μ©ν΄μ λ©μλλ₯Ό μ μν μ μλ€.
μ€λ²λ‘λ©μ 쑰건
- λ©μλμ μ΄λ¦μ΄ κ°κ³ , 맀κ°λ³μμ κ°μ, νμ , μμκ° λ¬λΌμΌ νλ€.
- μλ΅ κ°λ§ λ€λ₯Έ κ²μ μ€λ²λ‘λ©μ ν μ μλ€.
- μ κ·Ό μ μ΄μλ§ λ€λ₯Έ κ²λ μ€λ²λ‘λ©μ ν μ μλ€.
- μ€λ²λ‘λ©μ 맀κ°λ³μμ μ°¨μ΄λ‘λ§ κ΅¬νν μ μλ€. β
μ€λ²λ‘λ©μ μ₯μ
- λ©μλ μ΄λ¦ νλλ‘ μν©μ λ°λ₯Έ λμμ κ°λ³λ‘ μ μν μ μλ€.
- λ©μλμ μ΄λ¦μ μ μ½ν μ μλ€.
κΈ°λ³Έν & μ°Έμ‘°ν 맀κ°λ³μ
- κΈ°λ³Έν 맀κ°λ³μ → μ½λ κ²λ§ κ°λ₯νλ€.
- λ©μλλ₯Ό νΈμΆν λ μ λ¬ν 맀κ°κ°μΌλ‘ μ§μ ν κ°μ λ©μλμ 맀κ°λ³μμ 볡μ¬ν΄μ μ λ¬νλ€.
- 맀κ°λ³μμ νμ μ΄ κΈ°λ³ΈνμΌ λ κ° μμ²΄κ° λ³΅μ¬λμ΄ λμ΄κ°κΈ° λλ¬Έμ 맀κ°κ°μΌλ‘ μ§μ λ λ³μμ μλ³Έ κ°μ΄ λ³κ²½λμ§ μλλ€.
- μ°Έμ‘°ν 맀κ°λ³μ → μ½κ³ μ°λ κ²μ΄ κ°λ₯νλ€.
- λ©μλλ₯Ό νΈμΆν λ μ λ¬ν 맀κ°κ°μΌλ‘ μ§μ ν κ°μ μ£Όμλ₯Ό 맀κ°λ³μμ 볡μ¬ν΄μ μ λ¬νλ€.
- 맀κ°λ³μλ₯Ό μ°Έμ‘°νμΌλ‘ μ μΈνλ©΄ κ°μ΄ μ μ₯λ κ³³μ μλ³Έ μ£Όμλ₯Ό μ μ μκΈ° λλ¬Έμ κ°μ μ½μ΄μ€λ κ²μ λ¬Όλ‘ κ°μ λ³κ²½νλ κ²λ κ°λ₯νλ€.
package week3.parameter;
public class Main {
public static void main(String[] args) {
Car car = new Car(); // κ°μ²΄ μμ±
// κΈ°λ³Έν 맀κ°λ³μ
char type = 'D';
car.brakePedal(type);
// λ©μλ μ€ν μλ£ ν μ λ¬ν 맀κ°κ°μΌλ‘ μ§μ λ type κ° νμΈ
System.out.println("type = " + type); // κΈ°μ‘΄μ μ μΈν κ° 'D' μΆλ ₯, μλ³Έ κ° λ³κ²½λμ§ μμ
// λ©μλ μ€ν μλ£ ν λ°νλ car μΈμ€ν΄μ€μ gear νμ
νμΈ
System.out.println("gear = " + car.gear); // κ°μ²΄ λ΄λΆμμ typeμ λ³κ²½νμ¬ μμ νκΈ° λλ¬Έμ 'P' μΆλ ₯
System.out.println();
// μ°Έμ‘°ν 맀κ°λ³μ
Tire tire = new Tire();
tire.company = "κΈνΈ"; // κΈνΈ νμ΄μ΄ κ°μ²΄ μμ±
// μ°¨ κ°μ²΄μ νμ΄μ΄λ₯Ό λ±λ‘νλ λ©μλ νΈμΆν ν λ°νκ°μΌλ‘ μ°¨ κ°μ²΄μ νμ΄μ΄ κ°μ²΄ λ°ν
Tire carInstanceTire = car.setTire(tire);
// λ©μλ μ€ν μλ£ ν μ λ¬ν 맀κ°κ°μΌλ‘ μ§μ λ μ°Έμ‘°ν λ³μ tireμ company κ° νμΈ
System.out.println("tire.company = " + tire.company); // "KIA" μΆλ ₯
// μ λ¬ν 맀κ°κ°μΌλ‘ μ§μ λ tire μΈμ€ν΄μ€μ μ£Όμκ°μ΄ μ λ¬λμκΈ° λλ¬Έμ νΈμΆλ λ©μλμ μν΄ κ°μ΄ λ³κ²½λ¨.
// λ©μλ μ€ν μλ£ ν λ°νλ car μΈμ€ν΄μ€μ tire κ°μ²΄ κ°μ΄ λ°νλμ΄ μ μ₯λ μ°Έμ‘°ν λ³μ carInstanceTireμ company κ° νμΈ
System.out.println("carInstanceTire.company = " + carInstanceTire.company); // "KIA" μΆλ ₯
}
}
μΈμ€ν΄μ€ λ©€λ²μ ν΄λμ€ λ©€λ²
λ©€λ² = νλ + λ©μλ
- μΈμ€ν΄μ€ λ©€λ² = μΈμ€ν΄μ€ νλ + μΈμ€ν΄μ€ λ©μλ
- ν΄λμ€ λ©€λ² = ν΄λμ€ νλ + ν΄λμ€ λ©μλ
- νλμ λ©μλλ μ μΈνλ λ°©λ²μ λ°λΌμ μΈμ€ν΄μ€ λ©€λ²μ ν΄λμ€ λ©€λ²λ‘ ꡬλΆν μ μλ€.
- μΈμ€ν΄μ€ λ©€λ²λ κ°μ²΄ μμ± νμ μ¬μ©ν μ μκ³ ν΄λμ€ λ©€λ²λ κ°μ²΄ μμ± μμ΄λ μ¬μ©ν μ μλ€.
μΈμ€ν΄μ€ λ©€λ²
- μ§κΈκΉμ§ νμ΅νλ©΄μ μ μΈν νλμ λ©μλλ μ λΆ μΈμ€ν΄μ€ λ©€λ²μ΄λ€.
- κ°μ²΄κ° μΈμ€ν΄μ€ν ν λλ§λ€ κ°μ²΄μ λ©μλλ€μ μΈμ€ν΄μ€μ ν¬ν¨λμ΄ λ§€λ² μμ±λλ κ²μ΄ μλλΌ λ©μλλ λ©μλ μμμ λκ³ μ λͺ¨λ μΈμ€ν΄μ€λ€μ΄ 곡μ ν΄μ μ¬μ©νλ€.
- μΈμ€ν΄μ€λ₯Ό ν΅ν΄μλ§ λ©μλκ° μ¬μ©λ μ μλλ‘ μ νμ κ±Έμ΄λ κ²μ΄λ€.
ν΄λμ€ λ©€λ²
- λ©μλ μμμ ν΄λμ€μ κ°μ μμΉμ κ³ μ μ μΌλ‘ μμΉνκ³ μλ λ©€λ²λ₯Ό μλ―Ένλ€.
- ν΄λμ€ λ©€λ²λ κ°μ²΄μ μμ± νμ μμ΄ λ°λ‘ μ¬μ©μ΄ κ°λ₯νλ€.
ν΄λμ€ λ©€λ²μ μ μΈ
- νλμ λ©μλλ₯Ό ν΄λμ€ λ©€λ²λ‘ λ§λ€κΈ° μν΄μλ static ν€μλλ₯Ό μ¬μ©νλ©΄ λλ€.
- μΌλ°μ μΌλ‘ μΈμ€ν΄μ€λ§λ€ λͺ¨λ κ°μ§κ³ μμ νμ μλ 곡μ©μ μΈ λ°μ΄ν°λ₯Ό μ μ₯νλ νλλ ν΄λμ€ λ©€λ²λ‘ μ μΈνλ κ²μ΄ μ’λ€.
- μΈμ€ν΄μ€ νλλ₯Ό μ¬μ©νμ§ μκ³ μ€νλλ λ©μλκ° μ‘΄μ¬νλ€λ©΄ static ν€μλλ₯Ό μ¬μ©νμ¬ ν΄λμ€ λ©μλλ‘ μ μΈνλ κ²μ΄ μ’λ€.
βοΈ μ£Όμν μ
ν΄λμ€ λ©€λ²λ‘ μ μΈλ λ©μλλ μΈμ€ν΄μ€ λ©€λ²λ₯Ό μ¬μ©ν μ μλ€.
μΈμ€ν΄μ€ λ©€λ²λ‘ μ μΈλ λ©μλλ ν΄λμ€ λ©€λ²λ₯Ό μ¬μ©ν μ μλ€.
ν΄λμ€ λ©€λ²λ κ°μ²΄ μμ±μμ΄ λ°λ‘ μ¬μ© κ°λ₯νκΈ° λλ¬Έμ κ°μ²΄κ° μμ±λμ΄μΌ μ‘΄μ¬ν μ μλ μΈμ€ν΄μ€ λ©€λ²λ₯Ό μ¬μ©ν μ μλ€.
ν΄λμ€ λ©€λ² μ¬μ©
Car.company = "Audi";
String companyName = Car.setCompany("Benz");
- ν΄λμ€ λ©€λ²λ₯Ό μ¬μ©νλ €λ©΄ ν΄λμ€μ μ΄λ¦κ³Ό ν¨κ» λνΈ(.) μ°μ°μλ₯Ό μ¬μ©νλ©΄ λλ€.
Car car = new Car(); // κ°μ²΄ μμ±
car.company = "Ferrari";
String companyName2 = car.setCompany("Lamborghini");
- μ°Έμ‘°ν λ³μλ₯Ό μ¬μ©νμ¬ ν΄λμ€ λ©€λ²μ μ κ·Όμ κ°λ₯νμ§λ§ μΆμ²νμ§ μλλ€. → ν΄λμ€ μ΄λ¦μΌλ‘ μ κ·Όνλ κ²μ΄ μ’λ€.
μμ
package week3.staticFolder;
public class Main {
public static void main(String[] args) {
// ν΄λμ€ νλ company νμΈ
System.out.println(Car.company + "\n");
// ν΄λμ€ νλ λ³κ²½ λ° νμΈ
Car.company = "Audi";
System.out.println(Car.company + "\n");
// ν΄λμ€ λ©μλ νΈμΆ
String companyName = Car.setCompany("Benz");
System.out.println("companyName = " + companyName);
System.out.println();
// μ°Έμ‘°ν λ³μ μ¬μ©
Car car = new Car(); // κ°μ²΄ μμ±
car.company = "Ferrari";
System.out.println(car.company + "\n");
String companyName2 = car.setCompany("Lamborghini");
System.out.println("companyName2 = " + companyName2);
}
}
μ§μλ³μ
- λ©μλ λ΄λΆμ μ μΈν λ³μλ₯Ό μλ―Ένλ€.
- λ©μλκ° μ€νλ λλ§λ€ λ 립μ μΈ κ°μ μ μ₯νκ³ κ΄λ¦¬νκ² λλ€.
- μ§μ λ³μλ λ©μλ λ΄λΆμμ μ μλ λ μμ±λμ΄ λ©μλκ° μ’ λ£λ λκΉμ§λ§ μ μ§λλ€.
package week3.sample;
public class Main {
public static void main(String[] args) {
Main main = new Main(); // κΈ°λ³Έ μμ±μκ° λ΄μ₯λμ΄ μλ€. κ·Έλ κΈ° λλ¬Έμ μ μΈμ΄ κ°λ₯νλ€.
System.out.println(main.getNumber());
System.out.println(main.getNumber());
}
// λ©μλ
public int getNumber () {
// μ§μλ³μ <-> μ μλ³μ(static)
// ν΄λΉ λ©μλκ° μ€νλ λλ§λ€ λ
립μ μΈ κ°μ μ μ₯νκ³ κ΄λ¦¬νλ€.
// μ΄ μ§μλ³μλ λ©μλ λ΄λΆμμ μ μλ λ μμ±λλ€.
// μ΄ λ©μλκ° μ’
λ£λ λ μλ©Έλλ€.
int number = 1;
number += 1; // number = number + 1;
return number;
}
}
final νλμ μμ
- final νλλ μ΄κΈ°κ°μ΄ μ μ₯λλ©΄ ν΄λΉκ°μ νλ‘κ·Έλ¨μ΄ μ€ννλ λμ€μλ μ λλ‘ μμ ν μ μλ€.
- final νλλ λ°λμ μ΄κΈ°κ°μ μ§μ ν΄μΌ νλ€.
βοΈ μ°Έκ³
final + static → νλ‘κ·Έλ¨ μ체μμ μ¬μ©νλ μμμ΄κΈ°λ νλ©΄μ 곡μ©μΌλ‘ μ°μ΄λ κ°λ λλ€.
→ 곡μ©μ μμ
final String company = "GENESIS";
...
Car car = new Car();
System.out.println(car.company);
μμ
- μμμ νΉμ§μ κ°μ΄ λ°λμ ν κ°μ΄λ©° λΆλ³μ κ°μ μλ―Ένλ€.
- μΈμ€ν΄μ€λ§λ€ μμλ₯Ό μ μ₯ν νμκ° μλ€.
- final μμ static ν€μλλ₯Ό μΆκ°νμ¬ λͺ¨λ μΈμ€ν΄μ€κ° 곡μ ν μ μλ κ°μ΄ ν κ°μ΄λ©° λΆλ³μΈ μμλ₯Ό μ μΈν μ μλ€.
- μΌλ°μ μΌλ‘ μμλ λλ¬Έμλ‘ μμ±νλ κ²μ΄ κ΄λ‘μ΄λ€.
곡λΆνλ©΄μ λλ μ
3μ£Όμ°¨ κ°μλ₯Ό λ£κ² λλ©΄μ μλ‘ μ νλ κ°λ
λ€μ΄ μμμ‘λ€.... λΆλͺ
κ°μλ₯Ό λ€μΌλ©΄μ λ°λΌ ν λλ μ΄ν΄κ° λκ³ λ¨Έλ¦¬μ μ λ€μ΄μλλ° λΈλ‘κ·Έμ λ€μ μ 리νλ©΄μ 보λκΉ μλ‘κ² λκ»΄μ Έμ μ λ§μ μ΄μλ€. μ΄λ² μ£Ό λ΄λ΄ λ°λ³΅ν΄μ 곡λΆνκ³ κ°μΈ κ³Όμ νλ©΄μ λ 볡μ΅νκ³ .. κ·Έλ¬λ€ 보면 κ°λ
μ΄ νμ€νκ² μ‘νμμ§ μμκΉ μκ°νλ€..
κ·Έλ¦¬κ³ κ°μ λ΄μ©μ μ΄ν΄νλ©΄μ λ€μΌλ €κ³ νλ€ λ³΄λκΉ μκ°μ΄ μ μ μ€λ 걸리λ κ±° κ°μμ μ°μ μ κ°μλ₯Ό λ°λΌ νκ³ κ°μΈ κ³Όμ λ₯Ό νλ©΄μ λ΄μ©μ λ€μ νλ² μ 리νκ³ μ£Όλ§μ νλ² λ 볡μ΅νλ©΄μ κ°μ μ‘μκ°λ κ²μ΄ λ μ’μ 곡λΆλ°©ν₯μΈ κ² κ°μμ λ΄μΌλΆν° κ·Έλ κ² μ§ννλ €κ³ νλ€. μΌλ¨ κ°μλ₯Ό λ€μ λλ κ°μ¬λμ λ§μμ΄ μ΄ν΄κ° λλ©΄μ λμ΄κ°λ λλμ΄λΌ λ€νμΈ κ² κ°λ€.
μ»€λ¦¬μ΄ μ½μΉ μλ΄μ΄λ Java μΈμ
μ μκ°μ΄ κ²ΉμΉλ©΄μ Java μΈμ
μ μ€κ°λΆν° λͺ»λ€μλλ° λ
Ήνλ³Έμ 보면μ λ°λΌ ν΄λ³΄κ³ μ€λ κ°μλ₯Ό λ€μΌλ©΄μ λ°°μ λ λ΄μ©λ€μ μ 리ν μ μλ μκ°μ κ°μ§ μ μμΌλ©΄ μ’μ κ² κ°λ€.
μμ§κΉμ§ μ§μΉμ§ μκ³ μ§λλ₯Ό λκ° μ μμ΄μ λ€νμΈ κ² κ°λ€. μ΄λ² μ£Όμ κ³ μμ μ‘°κΈ ν΄λλλ€λ©΄ λ€μμ£Όμ λ€λ€μμ£Όκ° μ‘°κΈ νΈν΄μ§μ§ μμκΉ μκ°μ΄ λ λ€... μ°μ λλ§μ κ³΅λΆ μλλ₯Ό μ§ν€λ©΄μ κΎΈμ€ν 곡λΆν΄ λκ° μκ°μ΄λ€!
λ΄μΌλ νμ΄ν
!!!!!!!
'Today I Learned(TIL) > μ€νλ₯΄ν λ΄μΌλ°°μμΊ ν' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νλ‘κ·Έλλ° κΈ°μ΄_Day 5 (7) | 2024.11.15 |
---|---|
νλ‘κ·Έλλ° κΈ°μ΄_Day 4 (7) | 2024.11.15 |
νλ‘κ·Έλλ° κΈ°μ΄_Day 2 (5) | 2024.11.13 |
νλ‘κ·Έλλ° κΈ°μ΄_Day 1 (12) | 2024.11.12 |
λ―Έλ νλ‘μ νΈλ₯Ό ν΅ν΄ μ»μ λ΄μ©λ€ (0) | 2024.11.10 |