๐ฌPL

[Java] ์ฐ๋ ๋ (Thread)
ํ๋ก์ธ์ค์ ์ฐ๋ ๋ ํ๋ก์ธ์ค (process) ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ, ์์(๋ฉ๋ชจ๋ฆฌ,cpu)๊ณผ ์ฐ๋ ๋๋ก ๊ตฌ์ฑ ์ฐ๋ ๋ (thread) ํ๋ก์ธ์ค ๋ด์์ ์ค์ ์์ ์ ์ํ. ๋ชจ๋ ํ๋ก์ธ์ค๋ ์ต์ํ ํ๋์ ์ฐ๋ ๋๋ฅผ ๊ฐ์ง๊ณ ์๋ค ๋ชจ๋ ํ๋ก์ธ์ค์๋ ์ต์ํ ํ๋ ์ด์์ ์ฐ๋ ๋๊ฐ ์กด์ฌ, ๋ ์ด์์ ์ฐ๋ ๋๋ฅผ ๊ฐ์ง ํ๋ก์ธ์ค๋ฅผ '๋ฉํฐ์ฐ๋ ๋ ํ๋ก์ธ์ค(multi-threaded process)' ๋ผ๊ณ ํ๋ค. ๋ฉํฐ์ฐ๋ ๋ฉ ํ๋์ ํ๋ก์ธ์ค ๋ด์์ ์ฌ๋ฌ ์ฐ๋ ๋๊ฐ ๋์์ ์์ ์ ์ํํ๋ ๊ฒ. ๋ฉ์ ์ ๋ก ์ฑํ ํ๋ฉด์ ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ๊ฑฐ๋ ์์ฑ๋ํ๋ฅผ ๋๋ ์ ์๋ ๊ฒ์ด ๊ฐ๋ฅํ ์ด์ ๋ ๋ฉํฐ์ฐ๋ ๋๋ก ์์ฑ๋์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฉํฐ์ฐ๋ ๋์ ์ฅ์ ๋ฉํฐ์ฐ๋ ๋์ ๋จ์ CPU์ ์ฌ์ฉ๋ฅ ์ ํฅ์์ํจ๋ค. ๋๊ธฐํ(synchronization)์ ์ฃผ์ํด์ผ ํ๋ค. ์์์..

[Java] ์์ธ์ฒ๋ฆฌ(exception handling), try-catch๋ฌธ
Java์ ์ ์ ๊ณต๋ถ ํ๋ก๊ทธ๋จ ์ค๋ฅ 3๊ฐ์ง ์ปดํ์ผ ์๋ฌ(compile-time error) ์ปดํ์ผ ํ ๋ ๋ฐ์ํ๋ ์๋ฌ ๋ฐํ์ ์๋ฌ(runtime error) ์คํ ํ ๋ ๋ฐ์ํ๋ ์๋ฌ ๋ ผ๋ฆฌ์ ์๋ฌ(logical error) ์์ฑ ์๋์ ๋ค๋ฅด๊ฒ ๋์ ๋ฐํ์ ์๋ฌ๋ 2๊ฐ์ง๋ก ๋๋๋ค. (์๋ฌ๋ ์ด์ฉ ์ ์์ง๋ง, ์์ธ๋ ์ฒ๋ฆฌํ์) ์๋ฌ(error) ํ๋ก๊ทธ๋จ ์ฝ๋์ ์ํด์ ์์ต๋ ์ ์๋ ์ฌ๊ฐํ ์ค๋ฅ ์์ธ(exception) ํ๋ก๊ทธ๋จ ์ฝ๋์ ์ํด์ ์์ต๋ ์ ์๋ ๋ค์ ๋ฏธ์ฝํ ์ค๋ฅ ์์ธ์ฒ๋ฆฌ(exception handling) ์ ์ ํ๋ก๊ทธ๋จ ์คํ ์ ๋ฐ์ํ ์ ์๋ ์์ธ์ ๋ฐ์์ ๋๋นํ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ ๋ชฉ์ ํ๋ก๊ทธ๋จ์ ๋น์ ์ ์ข ๋ฃ๋ฅผ ๋ง๊ณ , ์ ์์ ์ธ ์คํ์ํ๋ฅผ ์ ์งํ๋ ๊ฒ Exception์ ํฌ๊ฒ 2๊ฐ์ง๋ก ๋๋..

[Java] File ํด๋์ค์ ์ฃผ์ ๋ฉ์๋
File ํด๋์ค java.io ํจํค์ง๋ ๊ธฐ์กด์ ํ์ผ์ด๋ ํด๋์ ๋ํ ์ ์ด๋ฅผ ํ๋ ๋ฐ ์ฌ์ฉํ๋ File ํด๋์ค๋ฅผ ์ ๊ณตํ๋ค. ์๋ฐ์์๋ File ํด๋์ค๋ฅผ ํตํด ํ์ผ๊ณผ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ค๋ฃฐ ์ ์๋๋ก ํ๋ค. File ์ธ์คํด์ค๋ ํ์ผ ์ผ ์๋ ์๊ณ ๋๋ ํ ๋ฆฌ ์ผ ์๋ ์๋ค. File ํด๋์ค๋ FileInputStream, FileReader ์์ฑ์์์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ๋๋ค. File ํด๋์ค์ ์ฃผ์ ๋ฉ์๋ ๋ฉ์๋ ์ค๋ช boolean canRead() ํ์ผ์ ์ฝ์ ์ ์์ผ๋ฉด true ํ์ผ์ ์ฝ์ ์ ์์ผ๋ฉด false boolean canWrite() ํ์ผ์ ์ธ ์ ์์ผ๋ฉด true ํ์ผ์ ์ธ ์ ์์ผ๋ฉด false boolean createNewFile() ํ์ผ์ ์๋ก ์์ฑํ๋ฉด true ํ์ผ์ ์์ฑํ์ง ๋ชปํ์ผ๋ฉด false boo..

[Java] ์ ์ด์(modifier)
์ ์ด์(modifier) ํด๋์ค, ๋ณ์ ๋๋ ๋ฉ์๋์ ์ ์ธ๋ถ์ ํจ๊ป ์ฌ์ฉ๋์ด ๋ถ๊ฐ์ ์ธ ์๋ฏธ๋ฅผ ๋ถ์ฌํ๋ค. ์ ๊ทผ ์ ์ด์ : public, protectde, default, private ๊ทธ ์ธ : static, final, abstract, native, transient, synchronized, volatile, strictp ์ ๊ทผ ์ ์ด์(access modifier)์ ๋ฒ์ โฌ ์ฌ์ฉ๋ ์ ์๋ ๊ณณ - (ํด๋์ค, ๋ฉค๋ฒ๋ณ์, ๋ฉ์๋, ์์ฑ์) ์ ์ด์ ๊ฐ์ ํด๋์ค ๊ฐ์ ํจํค์ง ๋ค๋ฅธํจํค์ง์ ์์ํด๋์ค ์ ์ฒด public O O O O protected O O O (default) O O private O ๋์์ ๋ฐ๋ผ ์ฌ์ฉํ ์ ์๋ ์ ์ด์ โฌ ๋์ ์ฌ์ฉ๊ฐ๋ฅํ ์ ์ด์ ํด๋์ค public, (default), f..

[Java] ๋คํ์ฑ(polymorphism)
๋คํ์ฑ(polymorphism) ๋งค์ฐ ์ค์ํ ๊ฐ๋ ์ด๋ผ๊ณ ํ๋ค. ์์, ์ธํฐํ์ด์ค, ๋ ํผ๋ฐ์ค ํ๋ณํ, ์ค๋ฒ๋ผ์ด๋ฉ ๋ฑ์ ์ด์ฉํ์ฌ ํ๋ก๊ทธ๋จ์ ํจ์จ์ ์ผ๋ก ๋ง๋ค ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค. ๋คํ์ฑ์ด ๋ฌด์์ผ๊น? ๋คํ์ฑ์ด๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์๋ฃํ ์ฒด๊ณ์ ์ฑ์ง์ ๋ํ๋ด๋ ๊ฒ์ผ๋ก, ํ๋ก๊ทธ๋จ ์ธ์ด์ ๊ฐ ์์(์์, ๋ณ์, ์, ์ค๋ธ์ ํธ, ํจ์ ๋ฑ)๋ค์ด ๋ค์ํ ์๋ฃํ(type)์ ์ํ๋ ๊ฒ์ด ํ๊ฐ๋๋ ์ฑ์ง ๋คํ์ฑ ์ฅ์ ์ ์ง๋ณด์๊ฐ ์ฝ๋ค ์ฌ๋ฌ ๊ฐ์ฒด๋ฅผ ํ๋์ ํ์ ์ผ๋ก ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์ฝ๋ ๊ด๋ฆฌ๊ฐ ํธ๋ฆฌํ์ฌ ์ ์ง๋ณด์ ์ฉ์ด ์ฌ์ฌ์ฉ์ฑ ์ฆ๊ฐ ๋คํ์ฑ์ ํ์ฉํ๋ฉด ์ฌ์ฌ์ฉ์ด ์ฝ๊ธฐ ๋๋ฌธ์ ์ฌ์ฌ์ฉ์ฑ์ด ์ฆ๊ฐ ๊ตฌํ ๋ฐฉ๋ฒ ํด๋์ค์ ์์์ด๋ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ์์ ํด๋์ค์์ ๋ฉ์๋๋ฅผ ์ฌ์ ์(์ค๋ฒ๋ผ์ด๋ฉ) ํ๊ณ ์์ ํด๋์ค๋ฅผ ๋ถ๋ชจ ํ์ ์ผ๋ก ์ ์บ์คํ ํ๋ค. ..

[Java] ์์ฑ์, this(), super()
์์ฑ์ ํด๋์ค๋ ์ด๊ธฐํ๋ฅผ ์ํด ์์ฑ์(constructor)๋ผ๋ ์ฝ๋ ๋ธ๋ก์ ๊ฐ์ง ์ ์๋ค. ์์ฑ์๋ ํด๋์ค๊ฐ new ํํ์์ ์ํด ์ธ์คํด์คํ๋์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ๊ฐ์ฒด์ ๋ ํผ๋ฐ์ค๋ฅผ ์์ฑํ๊ธฐ ์ ์ ๊ฐ์ฒด์ ์ด๊ธฐํ๋ฅผ ์ํด ์ฌ์ฉ๋๋ ์ฝ๋์ ๋ธ๋ก์ด๋ค. ์์ฑ์๋ ์๋ฐ ํด๋์ค์ ๋ฉค๋ฒ๊ฐ ์๋๋ฉฐ, ๋ฉค๋ฒ๊ฐ ์๋๋ฏ๋ก ์์๋์ง ์๋๋ค. ๋ฐ๋ผ์, ์ค๋ฒ๋ผ์ด๋ฉ์ ๋์์ด ๋ ์๋ ์๋ค. ์ผ๋ฐ์ ์ธ ๋ฉ์๋ ํธ์ถ๋ฐฉ๋ฒ์ผ๋ก ํธ์ถํ ์ ์๋ค. ์ผ๋ฐ์ ์ธ ์์ฑ์์ ํํ๋ ์ด๋ ๋ค. public class Example{ public Example(){ . . . } } ์ด๋ฌํ ์์ฑ์๋ new ํํ์์ ํตํด ๊ฐ์ฒด์ ์์ฑ๊ณผ ํจ๊ป ์คํ๋๋ค. Example ex = new Example(); ์์ฑ์ ํน์ง ์์ฑ์๋ ์ ๊ทผ ์ ์ด์์ธ public, protec..

[Java] List ์ปฌ๋ ์ ํด๋์ค
List ์ปฌ๋ ์ ํด๋์ค List ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๋ชจ๋ List ์ปฌ๋ ์ ํด๋์ค 1. ์์์ ์ ์ฅ ์์๊ฐ ์ ์ง๋๋ค. 2. ๊ฐ์ ์์์ ์ค๋ณต ์ ์ฅ์ ํ์ฉ. ๋ํ์ ์ธ List ์ปฌ๋ ์ ํด๋์ค์ ์ํ๋ ํด๋์ค 1. ArrayList 2. LinkedList 3. Vector 4. Stack ArrayList ํด๋์ค 1. ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์ปฌ๋ ์ ํด๋์ค ์ค ํ๋ 2. JDK1.2 ๋ถํฐ ์ ๊ณต๋ ํด๋์ค 3. ๋ด๋ถ์ ์ผ๋ก ๋ฐฐ์ด์ ์ด์ฉํ์ฌ ์์๋ฅผ ์ ์ฅ ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํ์ฌ ์์์ ๋น ๋ฅด๊ฒ ์ ๊ทผํ ์ ์๋ค. ํ์ง๋ง ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ ์ธ์คํด์ค์ด๋ฏ๋ก, ํฌ๊ธฐ๋ฅผ ๋๋ฆฌ๊ธฐ ์ํด์๋ ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํ๊ณ ๊ธฐ์กด์ ์์๋ค์ ์ฎ๊ฒจ์ผ ํ๋ ๋ณต์กํ ๊ณผ์ ์ ๊ฑฐ์น๋ค. ์๊ฐ์ด ๋งค์ฐ ๊ธธ์ด์ง๋ ๋จ์ ์์ // ์ธ์คํด์คํ ArrayList ar..

[Java] ์ปฌ๋ ์ ํ๋ ์์ํฌ(Collections Framework)
์ปฌ๋ ์ ํ๋ ์์ํฌ(collection famework)๋? ๋ค์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ ํ์คํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ ํด๋์ค์ ์งํฉ์ ์๋ฏธ ์ฆ, ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์กฐํํ์ฌ ํด๋์ค๋ก ๊ตฌํํด ๋์ ๊ฒ *์๋ฃ ๊ตฌ์กฐ : ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด์ ๊ณ ์ํ ํ์ ์๋ฐ์ ์ธํฐํ์ด์ค(interface)๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ ์ปฌ๋ ์ ํ๋ ์์ํฌ ์ฃผ์ ์ธํฐํ์ด์ค ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ ๊ตฌ์กฐ์ ๋ฐ๋ผ ์ฃผ์ ์ธํฐํ์ด์ค๋ฅผ ์ ์ ํ๋ค. 1. List ์ธํฐํ์ด์ค 2. Set ์ธํฐํ์ด์ค 3. Map ์ธํฐํ์ด์ค List์ Set ์ธํฐํ์ด์ค๋ ๋ชจ๋ Collection ์ธํฐํ์ด์ค์ ์์์ ๋ฐ์ง๋ง, ๊ตฌ์กฐ์์ ์ฐจ์ด๋ก ์ธํด Map ์ธํฐํ์ด์ค๋ ๋ณ๋๋ก ์ ์ํ๋ค. ์ฃผ์ ์ธํฐํ์ด์ค์ ๊ฐ๋ตํ ํน์ง ์ธํฐํ..