<Java์ ์ ์ ๊ฐ์ 3ํ>์ ๊ธฐ๋ณธ์ผ๋ก ๋ฐฐ์ด ๋ด์ฉ์ ๋๋ค.
๋ชฉ์ฐจ
- 1. ํด๋์ค์ ๊ฐ์ฒด
- 2. ๋ณ์์ ๋ฉ์๋
- 3. ์ค๋ฒ๋ก๋ฉ overloading
- 4. ์์ฑ์ constructor
- 5. ๋ณ์์ ์ด๊ธฐํ
1. ํด๋์ค์ ๊ฐ์ฒด
public class Animal{ //ํด๋์ค
Animal cat = new Animal(); //๊ฐ์ฒด
}
- ํด๋์ค : ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ธฐ๋ฅ์ ํจ.
- ๊ฐ์ฒด : newํค์๋๋ฅผ ์ด์ฉํด Animalํด๋์ค์ ์ธ์คํด์ค์ธ cat, ์ฆ Animal์ ๊ฐ์ฒด๊ฐ ๋ง๋ค์ด์ง.
- ์ธ์คํด์ค : ํน์ ๊ฐ์ฒด(cat)๊ฐ ์ด๋ค ํด๋์ค(Animal)์ ๊ฐ์ฒด์ธ์ง๋ฅผ ๊ด๊ณ์์ฃผ๋ก ์ค๋ช ํ ๋ ์ฌ์ฉ๋จ.
2. ๋ณ์์ ๋ฉ์๋
2-1) ๋ณ์(์ ์ธ ์์น์ ๋ฐ๋ผ ๋ถ๋ฅ)
ํด๋์ค ๋ณ์ (static ๋ณ์, ๊ณต์ ๋ณ์) |
์ธ์คํด์ค ๋ณ์๊ฐ ์ธ์คํด์ค ๋ง๋ค ๋ ๋ฆฝ์ ์ธ ์ ์ฅ๊ณต๊ฐ์ ์ง๋๊ฑฐ์ ๋ฌ๋ฆฌ ํด๋์ค ๋ณ์๋ ๋ชจ๋ ์ธ์คํด์ค๊ฐ ๊ณตํต๋ ์ ์ฅ๊ณต๊ฐ(๋ณ์)์ ๊ณต์ ํ๋ค. |
์ธ์คํด์ค๋ฅผ ์์ฑํ์ง ์๊ณ ๋ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ค. → ํด๋์ค์ด๋ฆ.๋ณ์์ด๋ฆ |
|
ํด๋์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ฉ๋ ๋ ์์ฑ๋๊ณ , ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋ ๋๊น์ง ์ ์ง๋๋ค. |
|
public์ ์์ ๋ถ์ด๋ฉด ์ ์ญ๋ณ์๊ฐ ๋๋ค. |
|
์ธ์คํด์ค ๋ณ์ |
ํด๋์ค์ ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๋ ๋ง๋ค์ด์ง๊ธฐ ๋๋ฌธ์, ๋จผ์ ์ธ์คํด์ค๋ฅผ ์์ฑํด์ผ ํ๋ค. |
๋ ๋ฆฝ์ ์ธ ์ ์ฅ๊ณต๊ฐ์ ๊ฐ์ง๋ฏ๋ก, ์๋ก ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง ์ ์๋ค. |
|
์ง์ญ๋ณ์ | ์ ์ธ๋ ๋ธ๋ญ{}์ ๋ฒ์ด๋๋ฉด ์๋ฉธ๋์ด ์ฌ์ฉํ ์ ์๋ค. |
2-2) ๋ฉ์๋
- ์ ์ธ
int add(int x, int y){
int result = x+y;
return result;
}
- ํธ์ถ
๋ฉ์๋ ์ด๋ฆ(๊ฐ1, ๊ฐ2, ...)
2-3) ํด๋์ค(static)๋ฉ์๋์ ์ธ์คํด์ค ๋ฉ์๋
- ํด๋์ค ๋ฉ์๋
- ํด๋์ค๋ฅผ ์ค๊ณํ ๋, ๋ฉค๋ฒ๋ณ์ ์ค ๋ชจ๋ ์ธ์คํด์ค์ ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ static์ ๋ถ์ธ๋ค.
- ํด๋์ค ๋ณ์(static ๋ณ์)๋ ์ธ์คํด์ค๋ฅผ ์์ฑํ์ง ์์๋ ์ฌ์ฉํ ์ ์๋ค.(ํด๋์ค์ด๋ฆ.๋ฉ์๋์ด๋ฆ)
- ํด๋์ค ๋ฉ์๋๋ ์ธ์คํด์ค ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ํด๋์ค ๋ฉค๋ฒ๊ฐ ์ธ์คํด์ค ๋ฉค๋ฒ๋ฅผ ์ฐธ์กฐ/ํธ์ถํ ๊ฒฝ์ฐ ๋ณ๋์ ์ธ์คํด์ค๋ฅผ ์์ฑํด์ผํ๋ค.
- ๋ฉ์๋ ๋ด์์ ์ธ์คํด์ค ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ฉด static์ ๋ถ์ด๋ ๊ฒ์ด ๋ฉ์๋ ํธ์ถ์๊ฐ์ด ์งง์์ ธ ์ฑ๋ฅ์ด ํฅ์๋๋ค.
- ์ธ์คํด์ค ๋ฉ์๋ : ์ธ์คํด์ค ๋ณ์์ ๊ด๋ จ๋ ์์ ์ ํ๋ ๋ฉ์๋
3. ์ค๋ฒ๋ก๋ฉ Overloading
- ์ ์ : ํ ํด๋์ค ๋ด์ ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ์ฌ๋ฌ๊ฐ ์ ์ํ๋ ๊ฒ
- ์ฅ์ : ๊ฐ์ ๊ธฐ๋ฅ์ ํ๊ณ , ๋ค๋ฅธ ํ์ ์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐ๋ ๋ฉ์๋๋ค์ ๊ฐ์ ์ด๋ฆ์ผ๋ก ์ง์ ํ ์ ์๋ค.(์ด๋ฆ ์ ์ฝ)
- ์กฐ๊ฑด : ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง๊ณ , ๋งค๊ฐ๋ณ์์ ๊ฐ์ ๋๋ ํ์ ์ด ๋ฌ๋ผ์ผ ํ๋ค.
- ์ฃผ์ : ๊ฐ๋ณ์ธ์๋ฅผ ์ ์ธํ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ก๋ฉํ๋ฉด, ์ค๋ฒ๋ก๋ฉ๋ ๋ฉ์๋๋ค์ ๊ตฌ๋ถํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋ค. ๋ฐ๋ผ์, ๊ฐ๋ณ์ธ์๋ฅผ ์ ์ธํ ๋ฉ์๋๋ ์ค๋ฒ๋ก๋ฉํ์ง ์๋๋ก ํ๋ค.
4. ์์ฑ์ constructor
์ธ์คํด์ค๊ฐ ์์ฑ๋ ๋ ํธ์ถ๋๋ ์ธ์คํด์ค ์ด๊ธฐํ ๋ฉ์๋(์ธ์คํด์ค๋ฅผ ์์ฑํ๋ ๊ฒ ์๋!)
1. ๊ธฐ๋ณธ ์์ฑ์ default constructor : ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก ๋งค๊ฐ๋ณ์์ ๋ด์ฉ์ด ์๋ ์์ฑ์๋ฅผ ์ถ๊ฐํด ์ค
ํด๋์ค ์ด๋ฆ(){}
2. ๋งค๊ฐ๋ณ์๊ฐ ์๋/์๋ ์์ฑ์
class Cord{
Card(){} //๋งค๊ฐ๋ณ์ ์๋ ์์ฑ์
Card(String k){} //๋งค๊ฐ๋ณ์ ์๋ ์์ฑ์. ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋ ์ํ๋ ๊ฐ์ผ๋ก ์ด๊ธฐํ ๊ฐ๋ฅ
}
5. ๋ณ์์ ์ด๊ธฐํ
๋ฉค๋ฒ๋ณ์์ ์ด๊ธฐํ ๋ฐฉ๋ฒ
- ๋ช ์์ ์ด๊ธฐํ : ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํํ๋ ๋ฐฉ๋ฒ
- ์์ฑ์
- ์ด๊ธฐํ ๋ธ๋ญ(์ธ์คํด์ค/ํด๋์ค) : ์ด๊ธฐํ ๋ธ๋ญ ๋ด์์๋ ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ ๋ฑ์ ์์ ๋กญ๊ฒ ์ฌ์ฉ๊ฐ๋ฅํด์ ๋ช ์์ ์ด๊ธฐํ๋ณด๋ค ๋ณต์กํ ์ด๊ธฐํ๋ฅผ ํ ์ ์๋ค.
1. ์ธ์คํด์ค ์ด๊ธฐํ ๋ธ๋ญ -> ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๋๋ง๋ค ์ด๊ธฐํ๊ฐ ์ด๋ฃจ์ด์ง๋ค.
class ํด๋์ค ์ด๋ฆ{
{...} //๋ชจ๋ ์์ฑ์์์ ๊ณตํต์ผ๋ก ์ํ๋ผ์ผ ํ๋ ์ฝ๋๋ฅผ ๋ฃ๋๋ฐ ์ฌ์ฉ๋จ.
}
2. ํด๋์ค ์ด๊ธฐํ ๋ธ๋ญ -> ํด๋์ค๊ฐ ์ฒ์ ๋ก๋ฉ๋ ๋ ๋จ ํ๋ฒ ์ด๊ธฐํ๋๋ค.
class ํด๋์ค ์ด๋ฆ{
static{...}
}
'๐ฐ ์ธ์ด > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ฐ, ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(3) (0) | 2020.06.09 |
---|---|
์๋ฐ, ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(2) (0) | 2020.06.09 |
switch/case๋ฌธ (0) | 2020.06.04 |
์ฝ์ ์ ์ถ๋ ฅ (0) | 2020.06.04 |
์๋ฐ์ ๋ํ์ฌ (0) | 2020.06.04 |