
๐ ์ค๋์ ํ์ต ํค์๋
- ํด๋์ค(class)
- ๊ฐ์ฒด์ ์์ฑ(ํ๋)
๐ ๊ฐ์ฒด์ ์์ฑ(ํ๋)
ํ๋๋ ๊ฐ์ฒด์ ๊ณ ์ ๋ฐ์ดํฐ, ๋ถํ ๊ฐ์ฒด, ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๊ณณ์ด๋ค. ์ ์ธ ํํ๋ ๋ณ์(Variable)์ ๋น์ทํ์ง๋ง, ํ๋๋ฅผ ๋ณ์๋ผ๊ณ ๋ถ๋ฅด์ง ์๋๋ค. ๋ณ์๋ ์์ฑ์์ ๋ฉ์๋ ๋ด์์๋ง ์ฌ์ฉ๋๊ณ ์์ฑ์์ ๋ฉ์๋๊ฐ ์คํ ์ข ๋ฃ๋๋ฉด ์๋ ์๋ฉธ๋๋ค. ํ์ง๋ง ํ๋๋ ์์ฑ์์ ๋ฉ์๋ ์ ์ฒด์์ ์ฌ์ฉ๋๋ฉฐ ๊ฐ์ฒด๊ฐ ์๋ฉธ๋์ง ์๋ ํ ๊ฐ์ฒด์ ํจ๊ป ์กด์ฌํ๋ค.
๐ ์๋์ฐจ ํด๋์ค ๋ง๋ค๊ธฐ
- ํ์ด์ด ํด๋์ค
public class Tire {
public Tire() {}
}
- ์ฐจ๋ฌธ ํด๋์ค
public class Tire {
public Tire() {}
}
- ํธ๋ค ํด๋์ค
public class Handle {
public Handle() {}
}
- ์๋์ฐจ ํด๋์ค
public class Car {
String company; // ์๋์ฐจ ํ์ฌ
String model; // ์๋์ฐจ ๋ชจ๋ธ
String color; // ์๋์ฐจ ์์
double price; // ์๋์ฐจ ๊ฐ๊ฒฉ
double speed; // ์๋์ฐจ ์๋ , km/h
char gear; // ๊ธฐ์ด์ ์ํ, P,R,N,D
boolean lights; // ์๋์ฐจ ์กฐ๋ช
์ ์ํ
Tire tire;
Door door;
Handle handle;
public Car() {} // ๊ธฐ๋ณธ ์์ฑ์
double gasPedal(double kmh) {
speed = kmh;
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("๋นต๋นต");
}
}
๐ ํ๋ ์ ์ธ
ํ๋ ์ ์ธ์ ํด๋์ค ์ค๊ดํธ { } ๋ธ๋ก ์ด๋์๋ ์กด์ฌํ ์ ์๋ค. ์์ฑ์ ์ ์ธ๊ณผ ๋ฉ์๋ ์ ์ธ์ ์๊ณผ ๋ค ์ด๋ค ๊ณณ์์๋ ํ๋ ์ ์ธ์ด ๊ฐ๋ฅํ๋ค. ํ์ง๋ง ์์ฑ์์ ๋ฉ์๋ ์ค๊ดํธ ๋ธ๋ก ๋ด๋ถ์๋ ์ ์ธ๋ ์ ์๋ค. ํ๋์ ์ ์ธ์ ๋ณ์์ ์ ์ธ ํํ์ ๋น์ทํ๋ค.
public class Car {
String company; // ์๋์ฐจ ํ์ฌ
String model; // ์๋์ฐจ ๋ชจ๋ธ
String color; // ์๋์ฐจ ์์
double price; // ์๋์ฐจ ๊ฐ๊ฒฉ
double speed; // ์๋์ฐจ ์๋ , km/h
char gear; // ๊ธฐ์ด์ ์ํ, P,R,N,D
boolean lights; // ์๋์ฐจ ์กฐ๋ช
์ ์ํ
}
๐ ํ๋ ํ์ ๋ณ ๊ธฐ๋ณธ ์ด๊ธฐ๊ฐ
์ฐ๋ฆฌ๊ฐ ์ ์ํ์ฌ ์ ์ธํ ํด๋์ค์ ํ๋๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๊ธฐ๊ฐ์ ์ ๊ณตํ์ง ์์ ๊ฒฝ์ฐ ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋ ์๋์ผ๋ก ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ด๊ธฐํ๋๋ค.
| ๋ถ๋ฅ | ๋ฐ์ดํฐ ํ์ | ์ด๊ธฐ๊ฐ | |
| ๊ธฐ๋ณธ ํ์ | ์ ์ ํ์ | byte | 0 |
| char | \u0000 (๋น ๊ณต๋ฐฑ) | ||
| short | 0 | ||
| int | 0 | ||
| short | 0L | ||
| ์ค์ ํ์ | float | 0.0F | |
| double | 0.0 | ||
| ๋ ผ๋ฆฌ ํ์ | boolean | false | |
| ์ฐธ์กฐ ํ์ | ๋ฐฐ์ด | null | |
| ํด๋์ค(Stringa ํฌํจ) | null | ||
| ์ธํฐํ์ด์ค | null | ||
๐ ํ๋์ ์ฌ์ฉ
ํ๋๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ํ๋๊ฐ์ ์ฝ๊ณ , ๋ณ๊ฒฝํ๋ ์์ ์ ๋งํ๋ค. ํด๋์ค ๋ด๋ถ์ ์์ฑ์๋ ๋ฉ์๋์์ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋จ์ํ ํ๋ ์ด๋ฆ์ผ๋ก ์ฝ๊ณ ๋ณ๊ฒฝํ๋ฉด ๋์ง๋ง, ํด๋์ค ์ธ๋ถ์์ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ฐ์ ์ ์ผ๋ก ํด๋์ค๋ก๋ถํฐ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ค ํ๋๋ฅผ ์ฌ์ฉํด์ผํ๋ค. ๊ทธ ์ด์ ๋ ํ๋๋ ๊ฐ์ฒด์ ์์๋ ๋ฐ์ดํฐ์ด๋ฏ๋ก ๊ฐ์ฒด๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด ํ๋๋ ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
// ์ธ๋ถ ํด๋์ค์์ Car์ ํ๋๊ฐ์ ์ฌ์ฉํ๋ ค๋ฉด Car๊ฐ์ฒด๋ฅผ ์ฐ์ ์์ฑํด์ผํ๋ค.
Car car = new Car();
// ๊ฐ์ฒด ๋ด๋ถ ํ๋์ ์ ๊ทผ ํ๋ ๋ฐฉ๋ฒ์ ๋ํธ(.) ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
car.color = "blue";
// main ๋ฉ์๋์์ ํ
์คํธํด๋ณด์.
public class Main {
public static void main(String[] args) {
Car car = new Car(); // ๊ฐ์ฒด ์์ฑ
// ์ด๊ธฐ๊ฐ๊ณผ ๊ธฐ๋ณธ๊ฐ ํ์ธํ๊ธฐ
System.out.println("car.model = " + car.model); // ์ด๊ธฐ๊ฐ "Gv80"์ด ์ถ๋ ฅ๋ฉ๋๋ค.
System.out.println("car.color = " + car.color); // ๊ธฐ๋ณธ๊ฐ null์ด ์ถ๋ ฅ๋ฉ๋๋ค.
System.out.println();
System.out.println("car.speed = " + car.speed); // ๊ธฐ๋ณธ๊ฐ 0.0์ด ์ถ๋ ฅ๋ฉ๋๋ค.
System.out.println("car.gear = " + car.gear); // ๊ธฐ๋ณธ๊ฐ \u0000(๊ณต๋ฐฑ)์ด ์ถ๋ ฅ๋ฉ๋๋ค.
System.out.println("car.lights = " + car.lights); // ์ด๊ธฐ๊ฐ true๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
System.out.println();
System.out.println("car.tire = " + car.tire); // ์ด๊ธฐ๊ฐ ์ธ์คํด์ค์ ์ฃผ์๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
System.out.println("car.door = " + car.door); // ๊ธฐ๋ณธ๊ฐ null์ด ์ถ๋ ฅ๋ฉ๋๋ค.
System.out.println();
// ํ๋ ์ฌ์ฉ
car.color = "blue"; // ํ๋ color์ "blue" ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
car.speed = 100; // ํ๋ speed์ 100 ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
car.lights = false; // ํ๋ lights์ false ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
System.out.println("car.color = " + car.color); // ์ ์ฅ๋ "blue" ๋ฐ์ดํฐ๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
System.out.println("car.speed = " + car.speed); // ์ ์ฅ๋ 100.0 ๋ฐ์ดํฐ๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
System.out.println("car.lights = " + car.lights); // ์ ์ฅ๋ false ๋ฐ์ดํฐ๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
}
}