๊ฐ์ฒด, ์ธ์คํด์ค์ ๊ฐ๋ ์ ์ดํดํ๊ธฐ ์ํด ์ ๋ฆฌํ๋ ๋ด์ฉ์ ๋๋ค.
ํด๋์ค (Class)
๊ฐ๋
- ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ์ค๊ณ๋ ๋๋ ํ
/* ํด๋์ค */
public class Car {
...
}
๊ฐ์ฒด (Object)
๊ฐ๋
- ์ํํธ์จ์ด ์ธ๊ณ์ ๊ตฌํํ ๋์
- ํด๋์ค์ ์ ์ธ๋ ๋ชจ์ ๊ทธ๋๋ก ์์ฑ๋ ์ค์ฒด
- ์ค๊ณ๋(ํด๋์ค)์์ ๋ง๋ค์ด๋ธ ์ ํ(?)
ํน์ง
- ๋ชจ๋ ๋ ํผ๋ฐ์ค ํ์ ์ ๊ฐ์ฒด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
- ๊ฐ์ฒด๋ ๋ชจ๋ ์ธ์คํด์ค๋ฅผ ํฌ๊ดํ๋ ์๋ฏธ๋ฅผ ๊ฐ๋๋ค.
- OOP ๊ด์ ์์ ํด๋์ค ํ์ ์ผ๋ก ์ ์ธ๋์์ ๋ ๊ฐ์ฒด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
public class Main {
public static void main(String[] args) {
Car santafe, tucson; // ๊ฐ์ฒด
}
}
์ธ์คํด์ค (Instance)
๊ฐ๋
- ์ค๊ณ๋๋ฅผ ๋ฐํ์ผ๋ก ์ํํธ์จ์ด ์ธ๊ณ์ ๊ตฌํ๋ ๊ตฌ์ฒด์ ์ธ ์ค์ฒด
ํน์ง
- ์ธ์คํด์ค๋ ๊ฐ์ฒด์ ํฌํจ ๋๋ค.
- ๊ฐ์ฒด๋ฅผ ์ค์ฒดํ ํ๋ฉด ๊ทธ๊ฒ์ ๊ทธ ํด๋์ค์ ์ธ์คํด์ค ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- ์ค์ฒดํ๋ ์ธ์คํด์ค๋ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋๋ค.
public class Main {
public static void main(String[] args) {
Car santafe, tucson;
/* ์ธ์คํด์คํ (๊ฐ์ฒด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น) */
santafe = new Car(); // santafe๋ Car ํด๋์ค์ ์ธ์คํด์ค์ด๋ค.
tucson = new Car(); // tucson์ Car ํด๋์ค์ ์ธ์คํด์ค์ด๋ค.
}
}
๊น๋จน๊ณ ๋ค์ ๋์์ฌ ๋์๊ฒ ๊ตฌ๊ตฌ ์ ์ ์ค๋ช
์๋ฅผ ๋ค์ด, ์๋์ฐจ์ ์ข ๋ฅ๋ ์ผํํ, ํฌ์ผ (๊ทธ ์ธ ์ฌ๋ฌ๊ฐ์ง) ๋ฑ๋ฑ ๋ชจ๋ธ๋ค์ด ์กด์ฌํฉ๋๋ค. ์ผํํ , ํฌ์ผ์ ๋ณด๊ณ ์ฐ๋ฆฌ๋ ์๋์ฐจ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
์ฌ๊ธฐ์ ์ผํํ, ํฌ์ผ์ ๊ฐ์ฒด๋ผ๊ณ ํํํฉ๋๋ค.
๊ฐ์ฒด(์ผํํ, ํฌ์ผ ๋ฑ)๋ค์ ๊ณตํต๋ ์ํ ์ ๋ณด์ ํ๋์ ๋ํด ์ ์ํด ๋์ ๊ฒ์ด ํด๋์ค์ ๋๋ค.
์ฆ, ์๋์ฐจ๋ฅผ ํด๋์ค๋ผ๊ณ ํฉ๋๋ค.
public class Main {
public static void main(String[] args){
Car santafe; // ๊ฐ์ฒด (๋ฉ๋ชจ๋ฆฌ์ ํ ๋น ์ . ์ฆ, ์ค์ฒดํ ์ )
Car tucson; // ๊ฐ์ฒด (๋ฉ๋ชจ๋ฆฌ์ ํ ๋น ์ . ์ฆ, ์ค์ฒดํ ์ )
/* ์ธ์คํด์คํ (์ค์ฒดํ) */
santafe = new Car(); // santafe๋ Carํด๋์ค์ ์ธ์คํด์ค๋ผ ํ๋ค.
tucson = new Car(); // tucson์ Carํด๋์ค์ ์ธ์คํด์ค๋ผ ํ๋ค.
}
}
์์ ์ฝ๋์์ santafe, tucson์ ์ ์ธ๋ง ํ๊ณ , ์์ง new ์ฐ์ฐ์๋ฅผ ํตํด ์ค์ฒดํ ํ๊ธฐ ์ ์ํ์ด๋ฏ๋ก ๊ฐ์ฒด ๋ผ๊ณ ํํํ๊ณ ,
new ์ฐ์ฐ์๋ก ์ค์ฒดํ๋ฅผ ํ๋ ์๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น ๋๊ณ , santafe, tucson๋ 'Car ํด๋์ค์ ์ธ์คํด์ค๋ค' ๋ผ๊ณ ๋ ํ ์ ์๋ ๊ฒ์ ๋๋ค.
์ด ๋์ ์ฐจ์ด์ ์ ์ ํํ๊ฒ ์ดํด ํ์!
REFERENCES
codevang.tistory.com/83?category=827598
docs.oracle.com/javase/tutorial/java/javaOO/objectcreation.html
gmlwjd9405.github.io/2018/09/17/class-object-instance.html
dbnsecu.tistory.com/8
slow-and-steady-wins-the-race.tistory.com/69