์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ํ๋ค์ค๊ณต๋ถ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- db
- ์๋๋ก์ด๋ ์คํ๋์ค
- ์๋ฐ์คํฌ๋ฆฝํธ
- JavaScript
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- Matplotlib ๊ธฐ์ด
- ์น๋์๋ณด๋ ๊ธฐ์ด
- ์๋ฐ๊ธฐ์ด
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- Streamlit๊ธฐ์ด
- MySQL
- ํ์ด์ฌ
- ์๋ฐ์ด๋ณด
- ์๋ฐ๊ณต๋ถ
- ์น๋์๋ณด๋ ์ ์
- Streamlit๊ธฐ๋ณธ
- ํ์ด์ฌ๊ณต๋ถ
- Android
- ํ๋ค์ค
- Pandas
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- streamlit
- RESTful API
- serverless
- ์คํธ๋ฆผ๋ฆฟ
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- java
- ์๋ฐ
- Today
- Total
ruriruriya
[JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ - ํด๋์ค์ ์ธ์คํด์ค ๊ทธ๋ฆฌ๊ณ ํ๋ ๋ณธ๋ฌธ
[JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ - ํด๋์ค์ ์ธ์คํด์ค ๊ทธ๋ฆฌ๊ณ ํ๋
๋ฃจ๋ฆฌ์ผใ 2024. 4. 15. 15:35
์๋ฐ์คํฌ๋ฆฝํธ์์ ํด๋์ค์ ์ธ์คํด์ค ๊ทธ๋ฆฌ๊ณ ํ๋์ ๋ํด ๋ถ์ด๋นต์ผ๋ก ์์๋ฅผ ๋ค ์์๋ณด์.
ํด๋์ค(Class)
ํด๋์ค๋ ๋ถ์ด๋นต์ ๋ง๋๋ ํ๊ณผ ๊ฐ๋ค.
๋ถ์ด๋นต ํ์ ๋ถ์ด๋นต์ด ์ด๋ค ๋ชจ์์ ๊ฐ์ง์ง,
์ด๋ค ์ฌ๋ฃ๊ฐ ํ์ํ์ง ๋ฑ์ ์ ์ํ๋ค.
์ด ํ์ ์ฌ์ฉํ์ฌ ์ค์ ๋ถ์ด๋นต์ ์ฌ๋ฌ ๊ฐ ๋ง๋ค ์ ์๋ค.
- ํ: ๋ถ์ด๋นต์ ๊ธฐ๋ณธ์ ์ธ ํํ์ ํ์ํ ์ฌ๋ฃ๋ฅผ ์ ์ํ๋ค.
- ์ฌ์ฌ์ฉ์ฑ: ๋์ผํ ํ์ ์ฌ์ฉํด ์ฌ๋ฌ ๋ฒ ๋ถ์ด๋นต์ ๋ง๋ค ์ ์๋ค.
- ์บก์ํ: ๋ถ์ด๋นต์ ๋ชจ์๊ณผ ์ฌ๋ฃ๋ฅผ ํ๋์ ํ๋ก ๋ฌถ์ด ๋๋ค.
- ์์ ๊ฐ๋ฅ: ๋ค๋ฅธ ํด๋์ค๋ก๋ถํฐ ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ์์๋ฐ์ ์ฌ์ฉํ ์ ์์.
์ธ์คํด์ค(Instance)
์ธ์คํด์ค๋ ํด๋์ค๋ฅผ ๋ฐํ์ผ๋ก ๋ง๋ค์ด์ง ์ค์ ๋ถ์ด๋นต์ด๋ค.
๋ถ์ด๋นต ํ์ ๋ฐ์ฃฝ์ ๋ถ์ด ์ค์ ๋ก ๊ตฌ์ด ๊ฒฐ๊ณผ๋ฌผ์ด ๋ฐ๋ก ์ธ์คํด์ค์ด๋ค.
๊ฐ๊ฐ์ ๋ถ์ด๋นต์ ๋
๋ฆฝ์ ์ผ๋ก ์กด์ฌํ๋ฉฐ,
๋น๋ก ๊ฐ์ ํ๋ก ๋ง๋ค์ด์ก์ง๋ง
๊ฐ๊ฐ ๋ค๋ฅธ ํน์ฑ(์: ์๊ธ์ ์, ๊ตฌ์ด ์ ๋)์ ๊ฐ์ง ์ ์๋ค.
- ๊ตฌ์ฒดํ: ๋ถ์ด๋นต ํ์์ ์ค์ ๋ก ๊ตฌ์์ง ๋ถ์ด๋นต์ด๋ค.
- ๊ฐ๋ณ์ฑ: ๊ฐ์ ํ์์ ๋ง๋ค์ด์ก์ด๋ ๊ฐ ๋ถ์ด๋นต์ ๋ ๋ฆฝ์ ์ธ ์กด์ฌ์ด๋ค.
- ์ํธ์์ฉ: ์ธ์คํด์ค๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ ์ธ์คํด์ค์ ์ํธ์์ฉํ ์ ์์ผ๋ฉฐ, ๋ฉ์๋๋ฅผ ํตํด ๋ด๋ถ ์ํ๋ฅผ ๋ณ๊ฒฝํ ์ ์์
ํ๋(Field)
ํ๋๋ ๋ถ์ด๋นต์ ์ฑ์์ง๋ ์๊ธ์ ์ข
๋ฅ๋ ์๊ณผ ๊ฐ์ ํน์ฑ์ ๋ํ๋ธ๋ค.
๋ถ์ด๋นต ํด๋์ค์๋ ์๊ธ์ ์ข
๋ฅ๋ ์์ด ์ผ๋ง๋ ๋ค์ด๊ฐ์ผ ํ๋์ง ์ ์ํ ์ ์๋ค.
- ๋ฐ์ดํฐ ์ ์ฅ: ๋ถ์ด๋นต์ ์๊ธ ์ข ๋ฅ๋ ์์ ์ ์ฅํฉ๋๋ค.
- ๊ธฐ๋ณธ๊ฐ ์ค์ ๊ฐ๋ฅ: ๋ถ์ด๋นต ํ์์ ํ์ํ ์๊ธ์ ์์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ํ ์ ์์ต๋๋ค.
- ์ ๊ทผ ์ ์ด: ํ๋๋ private, public, protected ๋ฑ์ ์ ๊ทผ ์ ์ด์๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ทผ ๋ฒ์๋ฅผ ์ ํํ ์ ์๋ค.
[์์ ์ฝ๋]
class Bungeoppang {
// ํ๋ ์ ์
dough = "basic dough"; // ๊ธฐ๋ณธ ๋ฐ์ฃฝ
// ์์ฑ์
constructor(filling = "red bean") {
this.filling = filling; // ์๊ธ ์ข
๋ฅ
}
// ๋ฉ์๋ ์ ์
cook() {
console.log(`A Bungeoppang with ${this.filling} filling and made of ${this.dough} is ready!`);
}
}
// ํด๋์ค์ ์ธ์คํด์ค ์์ฑ
const classicBungeoppang = new Bungeoppang();
const creamBungeoppang = new Bungeoppang("cream");
// ์ธ์คํด์ค ๋ฉ์๋ ํธ์ถ
classicBungeoppang.cook(); // ์ถ๋ ฅ: A Bungeoppang with red bean filling and made of basic dough is ready!
creamBungeoppang.cook(); // ์ถ๋ ฅ: A Bungeoppang with cream filling and made of basic dough is ready!