Constructor Parameter Method ¶
Constructor Method๋ก ์ธ์คํด์ค๋ฅผ ๋ง๋ค๋, ๊ทธ๋ฆฌ๋ก ๋๊ฒจ์ค ํ๋ผ๋ฉํฐ๋ค์ ์๋กญ๊ฒ ๋ง๋ค์ด์ง ์ธ์คํด์ค๋ก ์ด๋ป๊ฒ ๊ฐ๊ณ ์ค๋๊ฐ? ๊ฐ์ฅ ์ ์ฐํ ๋ฐฉ๋ฒ์ ๊ฐ๊ฐ์ ๋ณ์์ ๋ํด setter๋ค์ ๋ง๋ค์ด ์ฃผ๋ ๊ฒ์ด๋ค. ์ฆ,
~cpp
class Point
{
/* ... */
void setX(int x) { /* ... */ }
void setY(int y) { /* ... */ }
static Point* makeFromXnY(int x, int y)
{
Point* pt = new Point;
pt->setX(x);
pt->setY(y);
return pt;
}
/* ... */
};
์ด๋ ๊ฒ ๋๋๊ฒ์ด๋ค. ํ์ง๋ง ๋ณ์๊ฐ ๋ง์์ง์๋ก setter๋ค์ ๊ณ์ ๋์ด๋๋ค. ์ด๋ด๋์๋ ๋ชจ๋ ๋ณ์๋ฅผ ํ๋ฒ์ setํด์ฃผ๋ ํ๋์ ๋ฉ์๋๋ฅผ ๋ง๋ ๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋์ฌ๋ฅผ set์ผ๋ก ๋ช
๋ช
ํด์ฃผ๊ณ ๋ณ์์ ์ด๋ฆ์ ๋ธ๋ ค์ค๋ค.~cpp
class Point
{
/* ... */
static Point* makeFromXnY(int x, int y)
{
Point* pt = new Point;
pt->setXnY(x,y);
return pt;
}
void setXnY(int x, int y) // smalltalk์์๋ setX:xNum y:yNum์ด๋ผ๋ ๋ฉ์ธ์ง๋ฅผ ์ฌ์ฉํ๋ค.
{
this->x = x;
this->y = y;
}
/* ... */
};









