π 곡λΆνλ μ§μ§μνμΉ΄λ μ²μμ΄μ§?
[κ°μ²΄μ μ°Έμ‘°, λ³΅μ¬ μμ±μ] ν¨μ νΈμΆ μ κ°μ²΄ μ λ¬ λ³Έλ¬Έ
[κ°μ²΄μ μ°Έμ‘°, λ³΅μ¬ μμ±μ] ν¨μ νΈμΆ μ κ°μ²΄ μ λ¬
μ§μ§μνμΉ΄ 2024. 2. 24. 00:15<ν©κΈ°ν λμ λͺ ν C++ Programming μμ μ μ°Έκ³ ν΄μ μμ±νμμ΅λλ€ :-)>
π ν¨μ νΈμΆ μ κ°μ²΄ μ λ¬
βοΈ 1) κ°μ μν νΈμΆ κ³Όμ
ν¨μ μμμ λ§€κ° λ³μ κ°μ²΄μ μ΄λ€ λ³νκ° μΌμ΄λλ μ€μΈμ (μλ³Έ κ°μ²΄) λ₯Ό νΌμμν€μ§ μλ μ₯μ
μ€μΈμ κ°μ²΄μ ν¬κΈ°κ° ν¬λ©΄ κ°μ²΄λ₯Ό 볡μ¬νλ μκ°μ΄ 컀μ§λ λ¨μ
κ°μ²΄κ° ν¨μμ μ λ¬λλ©΄, ν¨μμ λ§€κ° λ³μ κ°μ²΄κ° μμ±λκ³ , ν¨μκ° μ’
λ£νλ©΄ λ§€κ° λ³μ κ°μ²΄κ° μλ©Έλλ€
λ§€κ° λ³μ κ°μ²΄μ μμ±μμ μλ©Έμκ° λͺ¨λ μ€νλλκ°? -> μλλ€
κ°μ²΄λ₯Ό λ§€κ° λ³μλ‘ κ°μ§λ ν¨μμ κ²½μ° C++ μ»΄νμΌλ¬λ λ§€κ° λ³μ κ°μ²΄μ μμ±μλ μ€νλμ§ μκ³ μλ©Έμλ§ μ€νλλλ‘ μ»΄νμΌ νλ€
μ»΄νμΌλ¬λ λ§€κ° λ³μ κ°μ²΄μ μμ±μκ° μ€νλμ§ μλλ‘ νλ€
μλ©Έμμ κ²½μ°λ λ€λ₯΄λ€
λ§€κ° λ³μ κ°μ²΄μ μμ±μκ° μ€νλμ§ γ
λ³κ³ μλ©Έμλ§ μ€νλλ λΉλμΉ κ΅¬μ‘°λ, ν¨μ νΈμΆ μ μλ³Έ κ°μ²΄μ μνλ₯Ό κ·Έλλ λ§€κ° λ³μ κ°μ²΄μ μ λ¬λλ‘κ³ νκΈ° μν κ²
π¨ λ³΅μ¬ μμ±μ
κ°μ μν νΈμΆ μ μ»΄νμΌλ¬λ λ§€κ° λ³μ κ°μ²΄μ μμ±μ λμ λ³΅μ¬ μμ±μκ° νΈμΆλλλ‘ μ»΄νμΌνκΈ° λλ¬Έμ μμ±μκ° μ€νλμ§ μλ κ²μ΄λ€
μ»΄νμΌλ¬λ ν΄λμ€μ λ³΅μ¬ μμ±μκ° μμ±λμ΄ μμ§ μμ κ²½μ°, μ€μΈμ κ°μ²΄μ λ©€λ² λ³μλ₯Ό 1:1λ‘ λ§€κ° λ³μ κ°μ²΄μ 볡μ¬νλ λν΄νΈ λ³΅μ¬ μμ±μλ₯Ό μλμΌλ‘ μ½μ
νλ€
βοΈ 2) μ£Όμμ μν νΈμΆ κ³Όμ
ν¨μ νΈμΆ μ κ°μ²΄λ₯Ό ν΅μ§Έλ‘ 볡μ¬νμ¬ λκΈ°λ κ°μ μν νΈμΆ λμ ,
κ°μ²΄μ μ£Όμλ§ μ λ¬νλ μ£Όμμ μν νΈμΆλλλ‘ ν¨
μλ³Έ κ°μ²΄λ₯Ό ν΅μ§Έλ‘ μ λ¬νλ κ°μ μν νΈμΆμ λΉν΄, μλ³Έ κ°μ²΄λ₯Ό 볡μ¬νλ μκ° μλͺ¨κ° μμ
λ§€κ° λ³μκ° λ€λ ν¬μΈν°μ΄λ―λ‘, μμ±μ μλ©Έμμ λΉλμΉμ λ¬Έμ λ μλ€
νμ§λ§, λ§€κ° λ³μ ν¬μΈν°λ‘ μλνμ§ μκ² μλ³Έ κ°μ²΄λ₯Ό νΌμν κ°λ₯μ±μ΄ μκΈ° λλ¬Έμ μ‘°μ¬νλ€
// κ°μ μν νΈμΆ μ λ§€κ° λ³μμ μμ±μ μ€νλμ§ μμ
#include <iostream>
using namespace std;
class Circle
{
private:
int radius;
public:
Circle();
Circle(int r);
~Circle();
double getArea() { return 3.14 * radius * radius; }
int getRadius() { return radius; }
void setRadius(int radius) { this->radius = radius; }
};
Circle::Circle()
{
radius = 1;
cout << "μμ±μ μ€ν radius = " << radius << endl;
}
Circle::Circle(int radius)
{
this->radius = radius;
cout << "μμ±μ μ€ν radius = " << radius << endl;
}
Circle::~Circle()
{
cout << "μλ©Έμ μ€ν radius = " << radius << endl;
}
// κ°μ²΄ c μ μμ±μ μ€νλμ§ μμ + κ°μ²΄ c μ μλ©Έμ μ€νλ¨
void increase(Circle c)
{
int r = c.getRadius();
c.setRadius(r + 1);
}
int main()
{
Circle waffle(30);
// μμ±μ νΈμΆμ μλκ³ , μλ©Έμ νΈμΆμ λλ€
increase(waffle);
cout << waffle.getRadius() << endl;
}
/*
μμ±μ μ€ν radius = 30
μλ©Έμ μ€ν radius = 31
30
μλ©Έμ μ€ν radius = 30
*/
/*
- ν¨μ νΈμΆ μ κ°μ²΄ μ λ¬
1) κ°μ μν νΈμΆ κ³Όμ
ν¨μ μμμ λ§€κ° λ³μ κ°μ²΄μ μ΄λ€ λ³νκ° μΌμ΄λλ μ€μΈμ (μλ³Έ κ°μ²΄) λ₯Ό νΌμμν€μ§ μλ μ₯μ
μ€μΈμ κ°μ²΄μ ν¬κΈ°κ° ν¬λ©΄ κ°μ²΄λ₯Ό 볡μ¬νλ μκ°μ΄ 컀μ§λ λ¨μ
κ°μ²΄κ° ν¨μμ μ λ¬λλ©΄, ν¨μμ λ§€κ° λ³μ κ°μ²΄κ° μμ±λκ³ , ν¨μκ° μ’
λ£νλ©΄ λ§€κ° λ³μ κ°μ²΄κ° μλ©Έλλ€
λ§€κ° λ³μ κ°μ²΄μ μμ±μμ μλ©Έμκ° λͺ¨λ μ€νλλκ°? -> μλλ€
κ°μ²΄λ₯Ό λ§€κ° λ³μλ‘ κ°μ§λ ν¨μμ κ²½μ° C++ μ»΄νμΌλ¬λ λ§€κ° λ³μ κ°μ²΄μ μμ±μλ μ€νλμ§ μκ³ μλ©Έμλ§ μ€νλλλ‘ μ»΄νμΌ νλ€
μ»΄νμΌλ¬λ λ§€κ° λ³μ κ°μ²΄μ μμ±μκ° μ€νλμ§ μλλ‘ νλ€
μλ©Έμμ κ²½μ°λ λ€λ₯΄λ€
λ§€κ° λ³μ κ°μ²΄μ μμ±μκ° μ€νλμ§ γ
λ³κ³ μλ©Έμλ§ μ€νλλ λΉλμΉ κ΅¬μ‘°λ, ν¨μ νΈμΆ μ μλ³Έ κ°μ²΄μ μνλ₯Ό κ·Έλλ λ§€κ° λ³μ κ°μ²΄μ μ λ¬λλ‘κ³ νκΈ° μν κ²
@λ³΅μ¬ μμ±μ
κ°μ μν νΈμΆ μ μ»΄νμΌλ¬λ λ§€κ° λ³μ κ°μ²΄μ μμ±μ λμ λ³΅μ¬ μμ±μκ° νΈμΆλλλ‘ μ»΄νμΌνκΈ° λλ¬Έμ μμ±μκ° μ€νλμ§ μλ κ²μ΄λ€
μ»΄νμΌλ¬λ ν΄λμ€μ λ³΅μ¬ μμ±μκ° μμ±λμ΄ μμ§ μμ κ²½μ°, μ€μΈμ κ°μ²΄μ λ©€λ² λ³μλ₯Ό 1:1λ‘ λ§€κ° λ³μ κ°μ²΄μ 볡μ¬νλ λν΄νΈ λ³΅μ¬ μμ±μλ₯Ό μλμΌλ‘ μ½μ
νλ€
2) μ£Όμμ μν νΈμΆ κ³Όμ
ν¨μ νΈμΆ μ κ°μ²΄λ₯Ό ν΅μ§Έλ‘ 볡μ¬νμ¬ λκΈ°λ κ°μ μν νΈμΆ λμ ,
κ°μ²΄μ μ£Όμλ§ μ λ¬νλ μ£Όμμ μν νΈμΆλλλ‘ ν¨
μλ³Έ κ°μ²΄λ₯Ό ν΅μ§Έλ‘ μ λ¬νλ κ°μ μν νΈμΆμ λΉν΄, μλ³Έ κ°μ²΄λ₯Ό 볡μ¬νλ μκ° μλͺ¨κ° μμ
λ§€κ° λ³μκ° λ€λ ν¬μΈν°μ΄λ―λ‘, μμ±μ μλ©Έμμ λΉλμΉμ λ¬Έμ λ μλ€
νμ§λ§, λ§€κ° λ³μ ν¬μΈν°λ‘ μλνμ§ μκ² μλ³Έ κ°μ²΄λ₯Ό νΌμν κ°λ₯μ±μ΄ μκΈ° λλ¬Έμ μ‘°μ¬νλ€
*/