1. Constructor(์์ฑ์) ์ ์
๊ฐ์ฒด๋ฅผ ์ ์ธํ ๋๋ง๋ค ์ธ์คํด์ค ๋ณ์๋ฅผ ์ผ์ผํ ์ด๊ธฐํ ํด์ผํ๋ค๋ฉด, ๋๋ฌด ๋ฒ๊ฑฐ๋กญ๋ค.
์์ฑ์๋ ๊ฐ์ฒด ์ ์ธ๊ณผ ๋์์ ์ธ์คํด์ค ๋ณ์๋ฅผ ์๋ ์ด๊ธฐํ ์์ผ์ฃผ๋ ์ญํ ์ ํ๋ค.
//๊ธฐ์กด์ ๋ฐฉ์ : ๊ฐ์ฒด ์ ์ธ, ์ธ์คํด์ค ๋ณ์ ์ผ์ผํ ์ด๊ธฐํ
BlackBox b1 = new BlackBox();
b1.modelName = "๊น๋ง์ด";
b1.resolution = "FHD";
b1.price = 20000;
b1.color = "๋ธ๋";
//์์ฑ์ ์ฌ์ฉ : ๊ฐ์ฒด ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ
//๊ฐ์ฒดb1์ BlackBox ์๋ฃํ์ผ๋ก ์ ์ธ, ๋์ ํ ๋น, ()์์ ์์ฑ์์ ๋ค์ด๊ฐ ์ธ์
BlackBox b1 = new BlackBox("๊น๋ง์ด", "FHD", 200000, "Black");
์ด๋ ๊ฒ ํธ๋ฆฌํ ์์ฑ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ํด๋์ค ๋ด์์ ์์ฑ์์ ๋ํด ์ ์ ํด์ผํ๋ค.
(์ ์ํ์ง ์๋๋ค๋ฉด ๋ด์ฉ์ด ๋น ๊ธฐ๋ณธ ์์ฑ์๋ง ์๋ ์์ฑ๋๋ค.)
์์ฑ์๋ ํด๋์ค์ ์ด๋ฆ์ด ๊ฐ๊ณ ๋ค์๊ณผ ๊ฐ์ ํํ๋ฅผ ๊ฐ๋๋ค.
public class BlackBox{
//๊ธฐ๋ณธ ์์ฑ์ -> ์ธ์๋ฅผ ๋ฃ์ง ์๊ณ ๊ฐ์ฒด ์ ์ธ๋ง ํ ๊ฒฝ์ฐ ๋ํ ๋์ฒ๋ฅผ ์ ์ํ ์ ์์
BlackBox(){}
}
// ๊ฐ์ฒด ์ ์ธ๋ง ํ ๊ฒฝ์ฐ ์์ : BlackBox b1 = new BlackBox();
๋ค์์ ์ฌ์ ์๋ ์์ฑ์์ ์์์ด๋ค.
public class BlackBox{
BlackBox(String modelName, String resolution, int price, String color) {
// ๊ธฐ๋ณธ ์์ฑ์์ ๋ฐ๋ก ์ ๊ทผํ๋ ๊ฒ. ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ์ํํ๊ณ ์๋์ชฝ์ ์ํ
// ์ธ์ ์๋ ๊ฒฝ์ฐ์ ๋ํ ์ ์๋ฅผ ๋ฐ๋ก ํด๋์ ๊ฒฝ์ฐ ์ฌ์ฉ
this();
System.out.println("์ฌ์ฉ์ ์ ์ ์์ฑ์ ํธ์ถ");
this.modelName = modelName;
this.resolution = resolution;
this.price = price;
this.color = color;
}
}
this์ ์๋ฏธ๋ ๋ฐ์์ ์ค๋ช ํ๋ค.
2. this์ ์ ์ / ์ฐ์์
this๋ ์ง๊ธ ์ฐ์ด๋ ๊ฐ์ฒด ์๊ธฐ ์์ ์ ๊ฐ๋ฆฌํค๋ ํค์๋์ด๋ค.
๋ง์ฝ BlackBox์ ๊ฐ์ฒด b1์ด ์์ ์์ฑ์๋ฅผ ํธ์ถํ์ ๊ฒฝ์ฐ ,
this.modelName = modelName;
this.resolution = resolution;
this.price = price;
this.color = color;
์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ๋ค.
b1.modelName = modelName;
b1.resolution = resolution;
b1.price = price;
b1.color = color;
3. ์ ๊ฒ
1. ๊ธฐ๋ณธ ์์ฑ์ ํํ, ๊ธฐ๋ณธ ์์ฑ์๊ฐ ์ฐ์ด๋ ๊ฒฝ์ฐ
2. ์ฌ์ ์ํ ์์ฑ์ ์์
3. ๊ฐ์ฒด ์ ์ธ ์ ์ฌ์ ์ํ ์์ฑ์ ์ฐ๋ ๊ฒฝ์ฐ ์์
4. this์ ์๋ฏธ, ์ฐ๋ ๋ฐฉ๋ฒ ์์