์ค๋์ ๊ตญ๋น์์ 11์ผ์ฐจ!!
์ค๋ ์์ ์๊ฐ์๋ Garbage Collecting, ํจํค์ง(Package), ๋ฐ์ดํฐ ํ์ (์ฐธ์กฐํ์ , ๊ธฐ๋ณธํ์ ), ์คํ๊ณผ ํ, string์ ๋น๊ต๋ฉ์๋, ์์(Inheritance), ์ค๋ฒ๋ผ์ด๋ฉ(Overriding), ์ค๋ฒ๋ก๋ฉ(Overloading)์ ๋ํด์ ๋ฐฐ์ ๋ค.
์ผ๋จ ์ด๋ฒ ๋ก๊ทธ์์๋ ๊ฐ๋น์ง ์ฝ๋ ํ , ํจํค์ง, ๋ฐ์ดํฐํ์ , ์คํ๊ณผ ํ, string์ ๋น๊ต๋ฉ์๋์ ๋ํด์ ์ ๋ฆฌํด๋ณด๊ฒ ๋ค!
๊ทธ๋ผ ์์ ์์~~!!๐
1. ๊ฐ๋น์ง ์ฝ๋ ํ (Garbage Collecting)
- ๊ฐ์ฒด ์์ฑํ๋๋ฐ ์ฌ์ฉ๋๋ ํค์๋๋ new์ด์ง๋ง, ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์์ ํด์ ์ํค๋ ํค์๋๋ ์กด์ฌํ์ง ์์.
- ์กด์ฌํ์ง ์๋ ์ด์ : ์๋ฐ๊ฐ์๋จธ์ (JVM)์ด ์์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํด์ค --> ๊ฐ๋น์ง ์ฝ๋ ํ (Garbage Collecting)
- JVM์ ๊ฐ์ฒด๊ฐ ๋ ์ด์ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉ๋์ง ์์ผ๋ฉด ์ค์ค๋ก ํ๋จํด์ ๋ฉ๋ชจ๋ฆฌ ํด์ ํ๊ณ ์๊ฑฐํจ.
2. ํจํค์ง(Package)
- ํด๋์ค 2๊ฐ์ข ๋ฅ : ์ฌ์ฉ์ ์ ์ ํด๋์ค, ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ ธ ์๋ ํด๋์ค
- ์ฌ์ฉ์ ์ ์ ํด๋์ค : ๊ฐ๋ฐ์๋ค์ด ๊ฐ๋ฐ์ ํ๋ฉฐ ์ง์ ๋ง๋ค์ด ์ฌ์ฉํ๋ ํด๋์ค
- ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ ธ ์๋ ํด๋์ค : JDK(JAVA Development Kit)์์ ์ด๋ฏธ ์๊ฑฐ๋, ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋์ ํด๋์ค
- ํด๋์ค๋ค์ ๋งค์ฐ ์ข ๋ฅ๊ฐ ๋ง๊ณ ๋น์ทํ ๊ธฐ๋ฅ๋ค์ ๋ถ๋ฆฌ์์ผ์ผํด ๊ด๊ณ์๋ ํด๋์ค๋ค์ ํจํค์ง๋ก ๋ฌถ์ด์ ๊ด๋ฆฌ.
- ํ์ฌ ํด๋์ค์์ ๋ค๋ฅธ ํจํค์ง์ ์ธ๋ถ ํด๋์ค ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ importํค์๋๋ก ํด๋น ํด๋์ค์ ์ ์ฒด๊ฒฝ๋ก(ํจํค์ง ๋ช ๊น์ง ํฌํจ)๋ฅผ ์ง์ ํด์ค์ผ ํจ.
- ํด๋น ํจํค์ง ์์ ์๋ ๋ชจ๋ ํด๋์ค ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด '*' ๊ธฐํธ๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๋จ.
โถ ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ์ฌ์ฉ์๊ฐ ์์๋ก ํจํค์ง๋ฅผ ๋ง๋๋ ค๋ฉด ํด๋์ค ๊ฐ์ฅ ์๋ถ๋ถ์ ํจํค์ง ๊ตฌ๋ฌธ ํฌํจ.
- ํจํค์ง ์ด๋ฆ์ ์๋ฌธ ์๋ฌธ์๋ก ์ง์ ํ๋ ๊ฒ ๊ถ์ฅ.
- ๋๋ถ๋ฅ์ ์๋ถ๋ฅ ํจํค์ง ๊ตฌ๋ถํ ๋ ' . '์ ์ฌ์ฉ.
- ์ต์์ ํจํค์ง ์ด๋ฆ์ java๋ก ์์ํ ์ ์์. javaํจํค์ง๋ ํ์ค API๋ค์ ๋ชจ์์ ๊ตฌ์ฑํด ๋์ ํจํค์ง์.
- ์๋ฐ์ ํค์๋๋ค๋ ํจํค์ง์ด๋ฆ์ผ๋ก ์ฌ์ฉ๋ถ๊ฐ.
โถํจํค์ง ์ฌ์ฉ์์
-์๋ก ๋ค๋ฅธ ํจํค์ง
-ํ๋์ ํจํค์ง ์์ 2๊ฐ์ ์๋ก ๋ค๋ฅธ ํด๋์ค
-์ฌ๋ฌ ํจํค์ง๋ฅผ ๊ฐ์ ธ์ ์ฌ์ฉํ๋ MAIN๋ฌธ
โ java.util.Scanner๋ Scanner๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์๋ฐ ๊ธฐ๋ณธ ํจํค์ง
โ import fruit.* --> fruitํจํค์ง ๋ด ๋ชจ๋ ํด๋์ค ์ฌ์ฉ
โ import com.abc.ABC / import com.def.DEF --> ๊ธฐ๋ณธ์ ์ธ ํจํค์ง ํธ์ถ๋ฐฉ์
3. ๋ฐ์ดํฐ ํ์ (Package)
- ๋ฐ์ดํฐ๋ ๊ธฐ๋ณธํ์ (primitive type)๊ณผ ์ฐธ์กฐํ์ (reference type)์ด ์๋ค.
- ๊ธฐ๋ณธํ์ : ์ ์, ์ค์, ๋ฌธ์, ๋ ผ๋ฆฌ ๊ฐ์ ์ ์ฅํ๋ ๋ฐ์ดํฐ ํ์
๊ธฐ๋ณธํ์ ์ผ๋ก ์ ์ธ๋ ๋ณ์๋ 2์ค์ ๊ฐ์ ๋ณ์์์ ์ ์ฅ
- ์ฐธ์กฐํ์ : ๊ฐ์ฒด ์ฃผ์ ์ฐธ์กฐํ๋ ํ์ , ๋ฐฐ์ด, ํด๋์ค, ์ธํฐํ์ด์ค ํ์
์ฐธ์กฐํ์ ์ผ๋ก ์ ์ธ๋ ๋ณ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ์ ๋ณ์ ์์ ์ ์ฅ
์ฐธ์กฐํ์ ์ผ๋ก ์ ์ธ๋ ๋ณ์ ์คํ(stack)์์ญ์ ์ฃผ์๊ฐ ์ ์ฅ
๋ด๋ถ์ ์ค์ ๊ฐ์ ํ(heap)์์ญ์ ์ ์ฅ
4. String์ ๋น๊ต๋ฉ์๋
- ์๋ฐ๋ ๋ฌธ์์ด์ด ๋์ผํ๋ค๋ฉด String๊ฐ์ฒด ๊ณต์ ํ๋๋ก ๋์ด์์
- ๋จ์ํ ๋ฌธ์์ด์ String๋ณ์์ ํ ๋นํ๋ค๋ฉด ๊ฐ์ ์ฃผ์๊ฐ์ ๊ฐ์ง๊ฒ ๋จ.
- String๊ฐ์ฒด๋ฅผ newํค์๋๋ฅผ ์ฌ์ฉํด ์ง์ heap์์ญ์ ์์ฑํ๋ค๋ฉด ๋ฌธ์์ด ๋ด์ฉ ๊ฐ๋๋ผ๋ ๋ค๋ฅธ ์ฃผ์๊ฐ์ ๊ฐ์ง๊ฒ ๋์ด ๋๋ฑ, ๋น๋๋ฑ(==, !=)์ ๊ฒฐ๊ณผ๋ false๋ก ๋์ค๊ฒ ๋จ.
-->๋ฐ๋ผ์ ๋ฌธ์์ด ๋ด์ฉ ๊ฐ ๊ทธ ์์ฒด๋ฅผ ๋น๊ตํ ๋๋ equals()๋ฉ์๋ ์ฌ์ฉํด์ผํจ.
'FOR SW ENGINEER๐ฉโ๐ป > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ตญ๋นJAVA์์ DAY-12 (0) | 2021.09.01 |
---|---|
๊ตญ๋นJAVA์์ DAY-11(2) (0) | 2021.08.28 |
๊ตญ๋นJAVA์์ DAY-10(2) (0) | 2021.08.28 |
๊ตญ๋นJAVA์์ DAY-10 (0) | 2021.08.28 |
๊ตญ๋นJAVA์์ DAY-9 (2) (0) | 2021.08.26 |