์ค๋ ์ฃผ์ ์ฌํญ (5/22, ์์์ผ)
- ์ค๋๋ถํฐ 3์ฃผ๊ฐ Java ์ธ์ด ํ์ต
- 3์ฃผ๊ฐ ํ์ต์ ํจ๊ปํ ์๋ก์ด ํ ํธ์ฑ
๋ฒ์จ ์ฃผ๋ง์ด ๋๋๋ค๋... ๋ค๋ค ์ด๋์ ์ฃผ 4์ผ์ ๋ฅผ ์ฐฌ์ฑํ๋ ๊ฑฐ๊ตฌ๋
Java
๋ ๊ฐ์ธ์ ์ผ๋ก ์ ์ํ์ตํ๋ ๊ฒ์ด ์๊ธฐ๋ ํ๊ณ , ์ด์ ์ ๋ค๋ฅธ ์ธ์ด๋ฅผ ์ด๋ฏธ ์ฌ์ฉํ๊ณ ์์๊ธฐ ๋๋ฌธ์..., ๋ชจ๋ฅด๋ ๊ฒ๋ค์ด๋ ํท๊ฐ๋ฆฌ๋ ๊ฒ๋ค ์์ฃผ๋ก ํ์ตํ๊ธฐ๋ก ํ๋ค.
int[][] array
int array[][]
int[] array[] // ์์ธ๋ก ์ด๊ฒ๋ ๊ฐ๋ฅ
.length
int[][] array = new int[2][3];
๋ฐฐ์ด์ด ์์ฒ๋ผ ์ ์ธ๋์์ ๋, ๊ธธ์ด(length
)๋ ์๋์ฒ๋ผ ํ์ธํ ์ ์๋ค.
array.length // ํ์ ๊ธธ์ด = 2
array[i].length // ์ด์ ๊ธธ์ด = 3
๋ด์ฉ์ด ๊ธธ์ด์ ธ ๊ธ์ ๋ฐ๋ก ์์ฑํ์ฌ ์ ๋ฆฌํ๋ค.
๊ฐ์ [Java] Collection
List [Java] Collection - List
Stack & Queue [Java] Collection - Stack & Queue
Set [Java] Collection - Set
Map [Java] Collection - Map
์์ฑ๋ ํด๋์ค ๊ฐ์ฒด๋ ๋ฐฐ์ด ๋๋ ์ปฌ๋ ์
ํํ๋ก๋ ๊ด๋ฆฌํ ์ ์๋ค. ์๋๋ Car
ํด๋์ค๋ฅผ ๊ด๋ฆฌํ๋ ๊ฐ์ฒด ๋ฐฐ์ด์ด๋ค.
public static void main(String[] args) {
// Car ํด๋์ค๋ฅผ ๊ด๋ฆฌํ ๊ฐ์ฒด ๋ฐฐ์ด ์์ฑ
Car[] carArray = new Car[3];
// ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ค์ด๊ฐ ์๋ก์ด ๊ฐ์ฒด
// ์์ฑ๋ค์ ์ด๊ธฐํ ํด์ค ๋ค์ -> ๊ฐ์ฒด ๋ฐฐ์ด์ ์ถ๊ฐ
Car car1 = new Car();
car1.changeGear('P');
carArray[0] = car1;
// ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ค์ด๊ฐ 2๋ฒ์งธ ๊ฐ์ฒด
Car car2 = new Car();
car2.changeGear('N');
carArray[1] = car2;
// ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ค์ด๊ฐ 3๋ฒ์งธ ๊ฐ์ฒด
Car car3 = new Car();
car3.changeGear('D');
carArray[2] = car3;
// for ๋ฌธ์ ์ฌ์ฉํด ์ด๊ธฐํํ ์์ฑ ๊ฐ์ ์ถ๋ ฅ
for (Car car : carArray) {
System.out.println("car.gear = " + car.gear);
}
}
โ ๋ง์ง๋ง for ๋ฌธ ์คํ ๊ฒฐ๊ณผ.
car.gear = P
car.gear = N
car.gear = D
ํ๋
๋ ๊ฐ์ฒด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ญํ . ๊ฐ์ฒด์ ํ๋๋ ํฌ๊ฒ ๊ณ ์ ๋ฐ์ดํฐ
, ์ํ ๋ฐ์ดํฐ
, ๊ฐ์ฒด ๋ฐ์ดํฐ
๋ก ๋ถ๋ฅํ ์ ์๋ค.
์๋ฅผ ๋ค๋ฉด Car
๊ฐ์ฒด๋ 4๊ฐ์ ๊ณ ์ ๋ฐ์ดํฐ์ 3๊ฐ์ ์ํ ๋ฐ์ดํฐ, ๊ทธ๋ฆฌ๊ณ 3๊ฐ์ ๊ฐ์ฒด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง ์ ์๋ค.
ํ๋๋ ํด๋์ค ๋ด๋ถ์์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ธํ ์ ์๋ค. (์์ ํ ์ฐธ๊ณ ) ์ ์ธํ ํ๋๋ค์ ์ด๊ธฐํ๋ฅผ ํ์ง ์์ ๊ฒฝ์ฐ, ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋ ์๋์ผ๋ก ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ด๊ธฐํ๋๋ค.
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;
/* ๋ฉ์๋... */
}
ํ๋๋ฅผ ์ฌ์ฉํ๋ค
๋ ๊ฒ์ ํ๋์ ๊ฐ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ฝ๋ ๊ฒ์ ์๋ฏธํ๋ค. ํ๋๋ ์ ์ธํ๋ค๊ณ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ ๊ฒ์ด ์๋๊ณ , ์ธ์คํด์คํ
๋ฅผ ๊ฑฐ์ณ์ผ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค. ์ธ์คํด์คํ๋ฅผ ํ๊ธฐ ์ํด์๋ ๋จผ์ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ผ ํ๋ค.
// 1. ๊ฐ์ฒด ์์ฑ
Car car = new Car();
// 2. ๋ํธ(.) ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด ํ๋ color์ ์ ๊ทผ
car.color = "blue";
ํด๋์ค ๋ด๋ถ์ ์ ์ธ๋ ๋ฉ์๋๋ ํด๋์ค์ ์ ์ธ๋ ํ๋์ ๋ฐ๋ก ํธ์ถ ๋ฐ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
double breakPedal() {
// ํด๋์ค ๋ด๋ถ์ ์ ์ธ๋ ํ๋์ธ speed์ ์ ๊ทผ
speed = 0;
return speed;
}
Java
๋ฅผ ๊ฐ ๋ฐฐ์ฐ๊ธฐ ์์ํ์ ์์ ... ์ฝ๋๋ฅผ ์์ฑํ๋ค๊ฐ, ๋งค๊ฐ๋ณ์๋ก ๋ ํผ๋ฐ์ค(&
)๋ฅผ ์ ๋ฌํ๋ ค๊ณ ํ ์ ์ด ์์๋๋ฐ (Java์๋ ํฌ์ธํฐ๊ฐ ์์ผ๋๊น...) ์ค๋ฅ๊ฐ ๋ ์ ๋นํฉํ ์ ์ด ์์๋ค.
๊ทธ ์ํ์์ ๋ฐ๊ฒฌํ ๊ธ์ด Java๋ ์ธ์ ๋ Call By Value๋ผ๋ ๊ธ์ด์๋ค. ์ด ๊ธ์ ์ฝ๊ณ ๋ ์ด๋๊ฐ ์ฐ์ฐํจ์ด ๋จ์์์๋๋ฐ, ์ค๋ ์ด ์ฃผ์ ๋ฅผ ๋ง๋์ ๊ถ๊ธ์ฆ์ด ํด๊ฒฐ๋์๋ค. ํ์ฌํผ ์ด๊ฑธ ์ดํดํ๊ณ ๋๋ด๊ณ ์ถ์๋ค.
๊ทธ๋ฌ๊ณ ๋ณด๋ ํ๋ถ์ ์์ ์ C++์ ๊ณต๋ถํ ๋๋ ๋ ํผ๋ฐ์ค์์ ๊ฐ์ฅ ๊ณ ์ํ๋ ๊ธฐ์ต์ด ์๋ค ๐
์ค๋ ์๋ก์ด ์ฐจ์๋ฅผ ๋ฐ์ ํ๊ณ , Java
๊ณต๋ถ๋ฅผ ๋ค์ด๊ฐ๋ฉด์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์บ ํ๊ฐ ์์๋๋ค๋ ๋๋! ํ์ง๋ง ์์ต์ ํด์ผํ๊ธฐ ๋๋ฌธ์ ์กฐ๊ธ ๋ฐ๋ถํ ๊ฐ์ด ์๋ค. ๋ญ๊ฐ ํด๋ณด๋ฉด ์ข์๊น? ์ถ์ด์ ๋ฌธ๋ฒ์ ๋น ๋ฅด๊ฒ ๋๋ด๊ณ ์ฝ๋ฉํ
์คํธ ๊ณต๋ถ๋ฅผ ์์ํด๋ณผ๊น ์ถ๊ธฐ๋ ํ๋ค. (์์ฒญ ๋ชปํ๋๊น!!)