๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
-
[Collection] ArrayList ๊ด๋ จ ๊ผฌ๋ฆฌ ์ง๋ฌธ ๋ต๋ณ ๊ณต๋ถ ๊ธฐ๋ก๊ฐ๋ฐ/Java 2022. 4. 18. 23:55
๐ก์ฌ๋ฌ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๋, ๋ฐฐ์ด์ ์ฌ์ฉํ๋ฉด ์ข์์ ์ ๋ฌด์์ผ๊น? - ๋ฐฐ์ด์ ๊ทธ ํฌ๊ธฐ๊ฐ ์ ํด์ ธ ์์ ๋ ์ ์ฉํ๋ค - ์ฑ๋ฅ์์ด๋ ๋ฉ๋ชจ๋ฆฌ ํจ์จ๋ฉด์์ ๊ฐ์ฅ ์ข๋ค. ๐ก๊ทธ๋ผ ํฌ๊ธฐ๊ฐ ์ผ๋ง๋ ๋๋์ง ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ์๋? - int์ ์ต๋๊ฐ์ ํด๋นํ๋ ํฌ๊ธฐ๋ฅผ ๊ฐ๋ ๋ฐฐ์ด์ ๋ง๋ ๋ค. -> ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ์ฌํ๋ค. - ํ์ํ ๊ฐ์๋งํผ ๋ ํฐ ๋ฐฐ์ด์ ํ๋ ๋ ๋ง๋ค์ด์ ๊ฑฐ๊ธฐ๋ค ๋ณต์ฌํด๋ฒ๋ฆฐ๋ค. ->๊ตณ์ด ์ด๋ ๊ฒ ํ ํ์๊ฐ ์๋ค. ์ด๋ฏธ ๋ง๋ค์ด์ ธ ์๋ ํด๋์ค๋ค์ ์ฌ์ฉํ ์ ์๋ค. ๐ก๋ค์ ๊ทธ๋ฆผ์ ๊ผญ ์ธ์ฐ์. ๋ฆฌ์คํธ, ์ , ํ๋ Collection์ด๋ผ๋ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๊ณ ์๋ค. Collection ์ธํฐํ์ด์ค๋ java.util ํจํค์ง์ ์ ์ธ๋์ด ์๋ค. ๋ชจ๋ ์ฌ๋ฌ ๊ฐ์ฒด๋ฅผ ํ๋์ ๊ฐ์ฒด์ ๋ด์ ์ฒ๋ฆฌํ ๋ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ฌ๋ฌ ๋ฉ์๋๋ค์ ์ ์ธํด..
-
์ด๋ ธํ ์ด์ (Annotation) - @Override, @Deprecated, @SuppressWarnings, @Target, @Retention, @Documented, @Inherited, @interface๊ฐ๋ฐ/Java 2022. 4. 18. 22:20
์๋ ํ์ธ์๐ฟ๏ธ ์ค๋์ ์ด๋ ธํ ์ด์ ์ ๋ํด ๊ณต๋ถํด๋ณด๊ฒ ์ต๋๋ค. ํด๋น ๋ด์ฉ์ ์๋ฐ์ ์ chapter 17์ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ฆฌํ ๊ฒ์ ๋๋ค :) ์ด๋ ธํ ์ด์ ์ด๋? ์ด๋ ธํ ์ด์ ์ ํด๋์ค๋ ๋ฉ์๋ ๋ฑ์ ์ ์ธ์์ @๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋งํฉ๋๋ค. ์ด๋ ธํ ์ด์ ์ ์์ด๋ก Annotation์ด๋ฉฐ, ๋ฉํ๋ฐ์ดํฐ(Metadata)๋ผ๊ณ ๋ถ๋ฆฌ๊ธฐ๋ ํฉ๋๋ค. ์ด๋ ธํ ์ด์ ์ JDK5๋ถํฐ ๋ฑ์ฅํ์ต๋๋ค :) ์ด๋ ธํ ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ์ฌ์ฉํฉ๋๋ค. - ์ปดํ์ผ๋ฌ์๊ฒ ์ด๋ค ์ ๋ณด๋ฅผ ์๋ ค์ฃผ๋ ๊ฒฝ์ฐ - ์ปดํ์ผํ ๋ ์ค์น(deployment) ์์ ์์ ์ ์ง์ ํ๋ ๊ฒฝ์ฐ - ์คํํ ๋ ๋ณ๋์ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ ์ด๋ ธํ ์ด์ ์ ์ ๋์๋๊ฐ? ๊ธฐ์กด์ ์๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ๊ตฌ์ฑ๊ณผ ์ค์ ๊ฐ์ XML ์ค์ ํ์ผ์ ํตํด ๋ช ์ํ๊ณ ๊ด๋ฆฌํ์์ต๋๋ค. ์ด๋ ๋ณ๊ฒฝ๋ ์ ์๋ ๋ฐ์ดํฐ..
-
[Thread] Thread๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ - Runnable ์ธํฐํ์ด์ค์ Thread ํด๋์ค์ ์ฐจ์ด๊ฐ๋ฐ/Java 2022. 4. 13. 17:15
์๋ ํ์ธ์๐ฟ๏ธ ์ค๋์ ์ฐ๋ ๋์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ด์ผ๊ธฐ๋ฅผ ๋๋ ๋ณผ๊น ํฉ๋๋ค. ์ฐ๋ ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ํฌ๊ฒ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ํ๋๋ Runnable ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๊ณ , ๋ค๋ฅธ ํ๋๋ Thread ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ฌ์ค Thread ํด๋์ค๋ Runnable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค์ด๋ฏ๋ก, ์ด๋ค ๊ฒ์ ์ ์ฉํ๋๋์ ์ฐจ์ด๋ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ค java.lang ํจํค์ง์ ์์ด์, ์ฌ์ฉํ ๋์ ๋ณ๋๋ก import๋ ํ์ ์์ต๋๋ค. Runnable ์ธํฐํ์ด์ค์ ์ ์ธ๋์ด ์๋ ๋ฉ์๋๋ ๋จ์ง ํ๋ ์ธ๋ฐ์, ๊ทธ๊ฒ์ void ํ์ ์ run() ๋ฉ์๋ ์ ๋๋ค. ์ด๊ฒ์ ์ฐ๋ ๋๊ฐ ์์๋๋ฉด ์ํ๋๋ ๋ฉ์๋์ ๋๋ค. ๋ฐ๋ฉด์, Thread ํด๋์ค๋ ๋งค์ฐ ๋ง์ ์์ฑ์์ ๋ฉ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. (์ด ๋ถ๋ถ์ ๋์ค์ ๋ฐ..
-
Garbage Collector ์ด์ผ๊ธฐ - ์ ์, ์, ์ธ์ , ์ด๋ป๊ฒ, ์๊ณ ๋ฆฌ์ฆ, ์ข ๋ฅ๊ฐ๋ฐ/Java 2022. 4. 11. 23:21
์ข์ ๊ฐ๋ฐ์๋ "๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ" ๋ํ ์ ํด์ผํ๋ค๊ณ ํฉ๋๋ค. ๊ทธ๋์ Java๋ฅผ ๊ณต๋ถํ๋ฉด์, ์ ๋ ๋นผ๋จน์ ์ ์๋ ๋ด์ฉ ์ค ํ๋๊ฐ ๊ฐ๋น์ง์ปฌ๋ ํฐ์ ๋๋ค. JVM (Java Virtual Machine)์ ๋จผ์ ๊ณต๋ถํ๊ณ ์ค๋ฉด ๋ ๋์์ด ๋ ๊ฒ ๊ฐ์ต๋๋ค. JVM์ ๋ํ ๋ด์ฉ์ ์๋์ ๋งํฌ๋ก ์ค์๋ฉด ๋ฉ๋๋ค. https://mong-dev.tistory.com/38 JVM์ด์ผ๊ธฐ - ์ ์(+JRE, JDK), ๊ตฌ์กฐ JVM (Java Virtual Machine ) ์๋ฐ ๊ฐ์ ๋จธ์ ์ปดํจํฐ๋ 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ด๋๋ฆฌ(2์ง์)๋ก ์์ฑ๋ ๊ธฐ๊ณ์ด๋ก๋ง ์ดํด๋ฅผ ํ ์ ์๋ค. ํ์ง๋ง ์ฌ๋์ ๊ทธ ๊ธฐ๊ณ์ด๋ฅผ ๋ณด๊ณ ์ดํดํ๊ธฐ๊ฐ ์ด๋ ต๋ค. (๋ชจ๋ํฐ์ 011010101 mong-dev.tistory.com ์ ์ Garbage Collector๋..
-
์ ์ฐจ์งํฅ์ธ์ด VS ๊ฐ์ฒด์งํฅ์ธ์ด๊ฐ๋ฐ/Java 2022. 4. 10. 22:11
์๋ ํ์ธ์๐ฟ๏ธ ์ค๋์ ์ ์ฐจ์งํฅ์ธ์ด์ ๊ฐ์ฒด์งํฅ์ธ์ด์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค :) ์ปดํจํฐ ํ๋ก๊ทธ๋๋ฐ์ ํ๊ธฐ ์ํ ์ธ์ด์๋ ๋ง์ ์ข ๋ฅ๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ์ธ์ด๋ค์ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋์ด์ง๋๋ฐ, ๊ทธ๊ฒ์ด ๋ฐ๋ก '์ ์ฐจ์งํฅ์ธ์ด'์ ‘๊ฐ์ฒด์งํฅ์ธ์ด’์ ๋๋ค. ์ ์ฐจ์งํฅ์ธ์ด ์ ์ฐจ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ ํ๋ก๊ทธ๋จ ์ ์ฒด๊ฐ ์ ๊ธฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋๋๋ก ๋ง๋๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ์ ๋๋ค. ์ฆ, ๋ฌผ์ด ์์์ ์๋๋ก ํ๋ฅด๋ ๊ฒ์ฒ๋ผ ์์ฐจ์ ์ธ ์ฒ๋ฆฌ๊ฐ ์ค์์ ๋ฉ๋๋ค. ์ด๋ฌํ ์ ์ฐจ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ฐ์ด๋ ์ธ์ด๋ฅผ ์ ์ฐจ์งํฅ์ธ์ด๋ผ๊ณ ํฉ๋๋ค. ๋ํ์ ์ธ ์ ์ฐจ์งํฅ ์ธ์ด์๋ C์ธ์ด๊ฐ ์์ต๋๋ค. ์ด๋ ์ปดํจํฐ์ ์์ ์ฒ๋ฆฌ ๋ฐฉ์๊ณผ ์ ์ฌํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด์งํฅ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋นํด ๋ ๋นจ๋ฆฌ ์ฒ๋ฆฌ๋์ด ์๊ฐ์ ์ผ๋ก ์ ๋ฆฌํ๋ค๋ ์ฅ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์์ ๊ทธ๋ฆผ์ ๋ณด๊ฒ ์ต๋๋ค. ์๋ฅผ ๋ค์ด ..
-
์ค์ฒฉํด๋์ค(Nested class)๋ ๋ฌด์์ธ๊ฐ?๊ฐ๋ฐ/Java 2022. 4. 7. 00:54
์๋ ํ์ธ์, ๋ค๋ผ๋ฏธ๐ฟ๏ธ์ ๋๋ค :) ์ค๋์ ์ค์ฒฉํด๋์ค๋ผ๊ณ ๋ถ๋ฆฌ๋ Nested class์ ๋ํ ๋ด์ฉ์ ์ ๋ฆฌํ๋ ค๊ณ ํฉ๋๋ค. ํด๋น ๋ด์ฉ์ ์๋ฐ์์ 1๊ถ, chapter16์ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ ๊ธ์ ๋๋ค. Nested Class ์๋ฐ์์๋ ํด๋์ค ์์ ํด๋์ค๊ฐ ๋ค์ด๊ฐ ์ ์๋๋ฐ, ์ด๋ฌํ ํด๋์ค๋ฅผ "Nested class"๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ํ๊ตญ์ด๋ก๋ "์ค์ฒฉ ํด๋์ค"๋ผ๊ณ ๋ ๋ถ๋ฆฝ๋๋ค. Nested class๋ static์ผ๋ก ์ ์ธ๋์๋์ง ์ฌ๋ถ์ ๋ฐ๋ผ "Static nested ํด๋์ค"์ "๋ด๋ถ(inner) ํด๋์ค"๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. ๋ง์ฝ ํด๋์ค๋ฅผ ์ ์ธํ ๋ static์ผ๋ก ์ ์ธ์ด ๋์๋ค๋ฉด, ๊ทธ ํด๋์ค๋ static nested ํด๋์ค๊ฐ ๋๊ณ , static์ด ์์ผ๋ฉด ๊ทธ๋ฅ ๋ด๋ถ ํด๋์ค๋ผ๊ณ ํฉ๋๋ค. ๋ด๋ถ ํด๋์ค๋ ๋ค์ ๋ ..
-
์ฐธ์กฐ์๋ฃํ - static ๋ฉ์๋์ ์ผ๋ฐ ๋ฉ์๋์ ์ฐจ์ด, static ๋ธ๋ก, Pass by value, Pass by reference, ํน์ดํ ๋งค๊ฐ ๋ณ์์นดํ ๊ณ ๋ฆฌ ์์ 2022. 3. 22. 00:00
์๋ ํ์ธ์, ์ด๋ฒ ์๊ฐ์๋ ์ฐธ์กฐ์๋ฃํ์ ๋ํด ์ด์ด์ ๊ณ์ ์์๋ณด๊ฒ ์ต๋๋ค. โก ๊ธฐ๋ณธ์์ฑ์ โก ๋ฉ์๋ overloading โก return (๋ฉ์๋์์ ๊ฐ ๋๊ฒจ์ฃผ๊ธฐ) โฃ static ๋ฉ์๋์ ์ผ๋ฐ ๋ฉ์๋์ ์ฐจ์ด โฃ static ๋ธ๋ก โฃ Pass by value, Pass by reference โฃ ๋งค๊ฐ ๋ณ์๋ฅผ ์ง์ ํ๋ ํน์ดํ ๋ฐฉ๋ฒ ์ง๋ ์๊ฐ๊น์ง๋ ์ ์ฒด ํญ๋ชฉ ์ค์์ ์์ 3๊ฐ์ง๋ฅผ ๋ณด์๊ณ , ์ง๊ธ๋ถํฐ๋ ์๋์ 4๊ฐ์ง ์ฒดํฌ ๋ ์ฃผ์ ๋ฅผ ๋ณด๊ฒ ์ต๋๋ค. :) ์ง๋ ๊ฒ์๊ธ์ ์๋๋ฅผ ํด๋ฆญํด ์ฃผ์ธ์! https://mong-dev.tistory.com/12 ์ฐธ์กฐ ์๋ฃํ - ๊ธฐ๋ณธ ์์ฑ์, ์ค๋ฒ๋ก๋ฉ(overloading), return ์๋ ํ์ธ์, ์ด๋ฒ ์๊ฐ์๋ ์ฐธ์กฐ์๋ฃํ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ํด๋น ๋ด์ฉ์ '์๋ฐ์ ์ ' chap..
-
์ฐธ์กฐ ์๋ฃํ - ๊ธฐ๋ณธ ์์ฑ์, ์ค๋ฒ๋ก๋ฉ(overloading), return๊ฐ๋ฐ/Java 2022. 3. 21. 22:32
์๋ ํ์ธ์, ์ด๋ฒ ์๊ฐ์๋ ์ฐธ์กฐ์๋ฃํ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ํด๋น ๋ด์ฉ์ '์๋ฐ์ ์ ' chapter8๋ฅผ ๊ธฐ์ด๋ก ์์ฑํ์ผ๋ฉฐ, ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ๋๋ฆ์ ์์ฝ ์ ๋ฆฌ๋ฅผ ํ ๊ธ์ ๋๋ค. ์์ธํ ๊ณต๋ถ๋ฅผ ์ํด์๋ ๋จผ์ ์ฑ ์ ์ฝ๊ณ , ์ ๋ฆฌ์ฉ์ผ๋ก ์ฐธ๊ณ ํ์๋ฉด ๋ฒ ์คํธ์ผ ๊ฒ ๊ฐ์ต๋๋ค! ๊ธฐ๋ณธ์๋ฃํ๊ณผ ์ฐธ์กฐ์๋ฃํ์ ๊ธฐ๋ณธ์ ๋ํ ๋ด์ฉ์ ์ด์ ๊ฒ์๊ธ์ ํ์ธํ์๋ฉด ๋ฉ๋๋ค :) https://mong-dev.tistory.com/11 ๋ณ์ ์ด์ผ๊ธฐ(2) - ์๋ฐ์ ํ์ (์๋ฃํ) ์๋ ํ์ธ์, ์ด๋ฒ ์๊ฐ์๋ ์๋ฐ์ ๋๊ฐ์ง ์๋ฃํ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ํด๋น ๋ด์ฉ์ '์๋ฐ์ ์ ' chapter4๋ฅผ ๊ธฐ์ด๋ก ์์ฑํ์ผ๋ฉฐ, ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ๋๋ฆ์ ์์ฝ ์ ๋ฆฌ๋ฅผ ํ ๊ธ์ ๋๋ค. ์์ธํ ๊ณต mong-dev.tistory.com ์ฐธ์กฐ์๋ฃํ์ ๊ณต๋ถํ๋ฉด์ ๋ค์๊ณผ ..