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; } /* ... */ };