1.Class
(1) ์ ์
์๋์ฐจ ๊ณต์ฅ์ ์์๋ก ๋ค๋ฉด, Class๋ ํ๋์ ์๋์ฐจ ์ค๊ณ๋ ์ด๋ค.
์ฐ๋ฆฌ๋ ์ค๊ณ๋๋ฅผ ํตํด ์ง์ง ์๋์ฐจ๋ฅผ ๋ง๋ ๋ค.
์ฐจ ์ค๊ณ๋์๋ ํ์ํ ๋ถํ๊ณผ ์ด ์ฐจ์ ์๋์๋ฆฌ๋ค์ด ์ ํ์๋ค.
์ฌ๊ธฐ์ ์ฐจ ์ค๊ณ์ ํ์ํ ๋ถํ๋ค์ Class ๋ด์ ๋ณ์, ์ฐจ์ ์๋ ์๋ฆฌ๋ฅผ Class ๋ด์ Method๋ผ๊ณ ํ๋ค.
public class vehicle_Blueprint {
//์ธ์คํด์ค ๋ณ์
int ๋ณผํธ์_์;
int ๋ํธ์_์;
String ๋ฐฐ๊ธฐํต;
string ์ฐจ์ฒด;
String ์ฐจ์๊น;
String ์๋ฒํผ์_ํฌ๊ธฐ;
String ์ฐจ ์๋ฆฌ์ผ ๋๋ฒ;
//ํด๋์ค ๋ณ์
Static String ์ฐจ์ฒด์_์์
์ = "๊ตญ์ฐ";
//์ธ์คํด์ค ๋งค์๋
void Black_Box_alert (int speed, int ์ฃผํ๊ฑฐ๋ฆฌ) {
System.out.println("ํด๋น ์ฐจ์ ์ฃผํ๊ฑฐ๋ฆฌ๊ฐ " + ์ฃผํ๊ฑฐ๋ฆฌ +
"์ผ ๋ ๊ทธ๋ฆฌ๊ณ ์๋๊ฐ " + speed + "์ผ ๋ ์๋ฆผ์ด ๊ฐ๋๋ค." );
}
//ํด๋์ค ๋งค์๋
static String ํ๋ฅ๊ตฌ๋(){
return "Aํ์ฌ์ ๋ชจ๋ ์๋์ฐจ๋ ํ๋ฅ๊ตฌ๋์
๋๋ค.";
}
String ๊น๋ฐ์ด_์๋์๋ฆฌ(String ํธ๋ค์_์ด๋๋ฐฉํฅ){
if(ํธ๋ค์_์ด๋๋ฐฉํฅ == "left")
return "์ผ์ชฝ ๊น๋นก์ด";
}
else if(ํธ๋ค์_์ด๋๋ฐฉํฅ == "right"){
return "์ค๋ฅธ์ชฝ ๊น๋นก์ด";
}
else
{
return "๊น๋ฐ์ด์ ์ค๋ฅ๊ฐ ์๊ฒผ์ต๋๋ค.";
}
}
(2)Class์ ๊ตฌ์ฑ์์
a. ์ธ์คํด์ค ๋ณ์
ํด๋์ค๋ฅผ ๊ตฌํํ ๊ฐ์ฒด(์ธ์คํด์ค)๋ง๋ค ๋ค๋ฅด๊ฒ ์ฐ์ผ ์ ์๋ ๋ณ์์ด๋ค.
ํด๋น ์์์์ ๋ณผํธ์ ์, ๋ํธ์ ์, ์๋ฆฌ์ผ ๋๋ฒ ๋ฑ๋ฑ์ ์ฐจ ๋ง๋ค ๋ค๋ฅผ ๊ฒ์ด๋ค.
b. ํด๋์ค ๋ณ์
ํด๋น ํด๋์ค๋ฅผ ์ฌ์ฉํ ๋ชจ๋ ๊ฐ์ฒด๊ฐ ๋์ผํ๊ฒ ์จ์ผํ๋ ๋ณ์์ด๋ค.
๊ฐ์ฒด๋ง๋ค ์์๋ก ๊ฐ์ ์กฐ์ ํ ์ ์๋ค.
ํด๋น ์์์์ ์ฐจ์ฒด์ ์์ ์์ ์๋ฐ๋ผ์ด๋ , ํ ๋ฆฌ์ธ์ด๋ ์ด๋ ๋ชจ๋ ๋ฌด์กฐ๊ฑด ๊ตญ์ฐ๋ง ์จ์ผํ๋ค.
c. ์ธ์คํด์ค ๋งค์๋
ํด๋น ํด๋์ค๋ฅผ ์ฌ์ฉํ ๊ฐ์ฒด๋ง๋ค ๋ค๋ฅด๊ฒ ์ฐ์ผ ์ ์๋ ๋งค์๋์ด๋ค. (== ์ฌ์ ์๊ฐ ๊ฐ๋ฅํ๋ค.)
ํด๋์ค ๋ณ์๋ฅผ ํด๋น ๋งค์๋์์ ์ฌ์กฐ์ ํ ์ ์๋ค.
ํด๋น ๋งค์๋์์ ๋ธ๋๋ฐ์ค ์๋ฆผ์ด ๊ฐ๋ ์ฃผ๊ธฐ๋ ์ฐจ๋ง๋ค ๋ค๋ฅด๋ค.
d. ํด๋์ค ๋งค์๋
input์ผ๋ก ๋ฐ์ ๊ฐ ์ธ์๋ ํด๋์ค ๋ณ์๋ง ์ฌ์ฉํ ์ ์๋ค.
์ธ์คํด์ค ๋งค์๋๋ ๊ฐ์ด ์ ํด์ ธ ์์ง ์์ผ๋ฏ๋ก ๊ณ ์ ๋ถ๋ณ ํด์ผํ๋ ํด๋์ค ๋งค์๋์์๋ ์ฌ์ฉ๋ถ๊ฐ ์ด๋ค.
ํด๋น ์์์์๋ ํด๋น A์ฌ์ ๋ชจ๋ ์๋์ฐจ๋ ํ๋ฅ๊ตฌ๋ํ๊ณ , ๊น๋นก์ด ์๋์๋ฆฌ๋ ๋ชจ๋ ๊ฐ๋ค. ์ด๋ ๋ฐ๊ฟ ์ ์๋ค.
2.๊ฐ์ฒด = instance
(1)์ ์
Class๊ฐ ์ฐจ ์ค๊ณ๋๋ผ๋ฉด ๊ฐ์ฒด๋ ํด๋น ์ค๊ณ๋๋ก ๋ง๋ ์๋ฐ๋ผ์ด๋ค.
Class๊ฐ ๊ตฌํํ ๋ ๊ฒ์ ๊ฐ์ฒด๋ผ๊ณ ํ๋ค.
(2)์์ฑ ๋ฐ ์ด๊ธฐํ
//๊ฐ์ฒด ์์ฑ
Vehicle_Blueprint Avante = new Vehicle_Blueprint();
//๊ฐ์ฒด ์ด๊ธฐํ
Avante.๋ณผํธ์_์ = 15642;
Avante.๋ํธ์_์ = 15509;
//...
Avante.์ฐจ์๊น = "Black";
Avante.์๋ฆฌ์ผ๋๋ฒ = "AE013153";
(3)์์ฑ์๋ฅผ ์ด์ฉํ ์๋ ์ด๊ธฐํ
a.์์ฑ์๋?
ํด๋์ค ์์ฑ ์ ์๋์ผ๋ก ์์ฑ๋๋ ํด๋์ค์ ๊ท๊ฒฉ, ๊ฐ๋ฐ์๋ ์ด๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ์๋ ์ด๊ธฐํ ์ํจ๋ค.
Vehicle_Blueprint(int ๊ฐ์ฒด_๋ณผํธ์, int ๊ฐ์ฒด_๋ํธ์์,...,String ๊ฐ์ฒด_์ฐจ์๊น, String ๊ฐ์ฒด_์๋ฆฌ์ผ ๋๋ฒ){
this.๋ณผํธ์_์ = ๊ฐ์ฒด_๋ณผํธ์;
this.๋ํธ์_์ = ๊ฐ์ฒด_๋ํธ์;
//....
this.์ฐจ์๊น = ๊ฐ์ฒด_์ฐจ์๊น;
this.์๋ฆฌ์ผ๋๋ฒ = ๊ฐ์ฒด_์๋ฆฌ์ผ๋๋ฒ;
}
b.์์ฑ์๋ฅผ ์ด์ฉํ ์ด๊ธฐํ ์์
vehicle_Blueprint Avante = new vehicle_Blueprint(15555, 15555, "Black", "AE104205");
** This๋?
์ง๊ธ ํด๋์ค๋ฅผ ํธ์ถํ ๊ฐ์ฒด๋ฅผ ์ง์นญ
์์ ์์์์ this.์ฐจ์๊น์ Avante.์ฐจ์๊น์ ์๋ฏธ