๐บ[JVAV] ๊ฐ์ฒด์งํฅ๊ณผ ํด๋์ค๐บ
1. ๊ฐ์ฒด
์ธ์ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด์ด๋ค.
(1)๊ฐ์ฒด๋ง๋ค ๊ณ ์ ์ ํน์ฑ๊ณผ ํ๋์ ๊ฐ์ง๊ณ ์๋ค.
(2) ๋ค๋ฅธ ๊ฐ์ฒด๋ค๊ณผ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฑ, ์ํธ์์ฉํ๋ฉด์
์กด์ฌํ๋ค
(3) ex) TV, ์์, ์ฑ ์,์ง,์นด๋ฉ๋ผ....
2. ๊ฐ์ฒด ์งํฅ ํน์ฑ
- ์บก์ํ : ๊ฐ์ฒด๋ฅผ ๊ฐญ์๋ก ์ธ์ ๋ด๋ถ๋ฅผ ๋ณผ ์ ์๊ฒ ํ๋ ๊ฒ(์ ๊ทผ์ ์ด์)
- ์์ : ์์ ๊ฐ์ฒด์ ์์ฑ์ด ํ์ ๊ฐ์ฒด์ ๋ฌผ๋ ค์ง
- ๋คํ์ฑ : ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๊ฐ ํด๋์ค๋ ๊ฐ์ฒด์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๋์ํ๋๋ก ๊ตฌํ
3. ํด๋์ค์ ๊ฐ์ฒด
ํด๋์ค
- ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด๋ด๊ธฐ ์ํ ์ค๊ณ๋ ํน์ ํ
- ๊ฐ์ฒด์ ์์ฑ๊ณผ ํ๋์ ํฌํจ
- ex) ๋ถ์ด๋นต ํ
๊ฐ์ฒด
- ํด๋์ค์ ๋ชจ์ ๊ทธ๋๋ก ์ฐ์ด๋ธ ์ค์ฒด
- ํ๋ก๊ทธ๋จ ์คํ ์ค์ ์์ฑ๋๋ ์ค์ฒด
- ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ๋ ๊ตฌ์ฒด์ ์ธ ์ค์ฒด
- ์ธ์คํด์ค๋ผ๊ณ ๋ ๋ถ๋ฆ
- ex) ๋ถ์ด๋นต
4. ํด๋์ค์ ๊ตฌ์ฑ
//ํด๋์ค์ ๊ธฐ๋ณธ ๊ตฌ์ฑ
public class Circle { //ํ๋(๋ณ์)
public int radius;
public String name;
public Circle(){
}
public double getArea(){
return 3.14 * radius * radius;
}
}
ํด๋์ค์ ์ธ
- class ํค์๋๋ก ์ ์ธ
- ํด๋์ค๋ {์ผ๋ก ์์ํ์ฌ }์ผ๋ก ๋ซ์ผ๋ฉฐ ์ด๊ณณ์ ๋ชจ๋ ํ๋์ ๋ฉ์๋ ๊ตฌํ
- ํด๋์ค ์ ๊ทผ ๊ถํ, public
ํ๋์ ๋ฉ์๋
- ํ๋ : ๊ฐ์ฒด ๋ด์ ๊ฐ์ ์ ์ฅํ๋ ๋ฉค๋ฒ๋ณ์
- ๋ฉ์๋ : ํจ์์ด๋ฉฐ ๊ฐ์ฒด์ ํ๋์ ๊ตฌํ
์์ฑ์
- ํด๋์ค์ ์ด๋ฆ๊ณผ ๋์ผํ ํน๋ณํ ๋ฉ์๋
- ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋ ์๋์ผ๋ก ํ ๋ฒ ํธ์ถ๋๋ ๋ฉ์๋
5. ๊ฐ์ฒด ์์ฑ ๋ฐ ์ ๊ทผ
- ๊ฐ์ฒด ์์ฑ
- ๋ฐ๋์ new ํค์๋๋ฅผ ์ด์ฉํ์ฌ ์์ฑ
- new ๋ ๊ฐ์ฒด์ ์์ฑ์ ํธ์ถ
- ex) Circle donut = new Circle();
6. ์์ฑ์
- ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋ ์ด๊ธฐํ๋ฅผ ์ํด ์คํ๋๋ ๋ฉ์๋
- ์์ฑ์๋ ๋ฉ์๋์ด๋ค.
- ์์ฑ์ ์ด๋ฆ์ ๋ฐ๋์ ํด๋์ค ์ด๋ฆ๊ณผ ๋์ผ
- ์์ฑ์๋ ๋ฆฌํด ํ์ ์์ด์ผ ํจ
- ์์ฑ์๋ ์ฌ๋ฌ ๊ฐ ์์ฑ ๊ฐ๋ฅ -> ์ค๋ฒ๋ก๋ฉ
- ์์ฑ์๋ new๋ฅผ ํตํด ๊ฐ์ฒด ์์ฑ ์ ๊ฐ์ฒด๋น ํ ๋ฒ ํธ์ถ
- ์์ฑ์ ๋ชฉ์ ์ ๊ฐ์ฒด ์ด๊ธฐํ
- ์์ฑ์๋ ๊ฐ์ฒด ์์ฑ ์ ๋ฐ๋์ ํธ์ถ๋จ
์์ ์ฝ๋๋ฅผ ๋ณด๊ณ ์ดํดํ๊ธฐ !!
public class Circle {
int radius;
String name;
public Circle(){
radius = 1;
name = "";
} //์์ฑ์1, ๋ฐ์ง๋ฆ1, ์ด๋ฆ์ ๋น์นธ์ผ๋ก ์ด๊ธฐํ ์ํจ๋ค.
public Circle(int r, String n){ //๋งค๊ฐ๋ณ์ ์กด์ฌ
this.radius = r;
this.name = n;
} //์์ฑ์2, ๋งค๊ฐ๋ณ์๊ฐ ์กด์ฌํ๋ ์์ฑ์
public Circle(int r1){
this.radius = r1;
} //์์ฑ์3
public Circle(String n1){
this.name = n1;
} //์์ฑ์4
public double getARea(){ //๋์ด ๊ตฌํ๊ธฐ
return 3.14 * radius * radius;
}
7. this ๋ ํผ๋ฐ์ค
this
- ๊ฐ์ฒด ์์ ์ ๋ํ ๋ ํผ๋ฐ์ค (this.๋ฉค๋ฒ ํํ๋ก ๋ฉค๋ฒ ์ฌ์ฉ)
- ํ์์ฑ
(1) ๊ฐ์ฒด์ ๋ฉค๋ฒ ๋ณ์์ ๋ฉ์๋ ๋ณ์์ ์ด๋ฆ์ด ๊ฐ์ ๊ฒฝ์ฐ
(2) ๋ค๋ฅธ ๋ฉ์๋ ํธ์ถ ์ ๊ฐ์ฒด ์์ ์ ๋ ํผ๋ฐ์ค ์ ๋ฌ ํ ๊ฒฝ์ฐ
- ๊ฐ์ฒด ์์์์ this
//๊ฐ์ฒด ์์์์ this๋ ์์ ์ ๊ฐ๋ฆฌํจ๋ค. publicl Circle(int radius){ this.radius = radius; }
this()๋ก ๋ค๋ฅธ ์์ฑ์ ํธ์ถ
- ํด๋์ค ๋ด์ ๋ค๋ฅธ ์์ฑ์ ํธ์ถ
- ์์ฑ์ ๋ด์์๋ง ๊ฐ๋ฅ
- ๋ฐ๋์ ์์ฑ์ ์ฝ๋์ ์ ์ผ ์ฒ์์ ์ํ
8. ํด๋์ค ์ ๊ทผ ์ง์ ์(์ ์ด์)
์ ๊ทผ ์ง์ ์ 4๊ฐ์ง
- private : ์ธ๋ถ๋ก๋ถํฐ ์ฐจ๋จ
- public : ๋ชจ๋ ํด๋์ค์์ ํ์ฉ
- protected : ๋์ผ ํจํค์ง์ ์์ ํด๋์ค์ ํ์ฉ
- default : ๋์ผ ํจํค์ง ํ์ฉ
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐บ[JVAV] ๊ฐ์ฒด์งํฅ๊ณผ ํด๋์ค๐บ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@youjin0411/๊ฐ์ฒด์งํฅ๊ณผ-ํด๋์ค์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค