๐ป Programming/Java
[์ฐ๋ฆฌ ์์ด๋ฅผ ์ํ Java ๊ฐ์ 1์ผ์ฐจ] ํ๋ก๊ทธ๋๋ฐ์ด๋ ๋ฌด์์ธ๊ฐ?
์๋ฌธ
๋๋ ์ด ๊ธ์ ์ฐ๋ ์ง๊ธ 7๋ ์ฐจ ์๋ฐ ๋ฐฑ์๋ ๊ฐ๋ฐ์์ด๋ค.
๋๋ ์๋ฐ๋ฅผ ์ ๋๋ก ๊ณต๋ถํ์ง๋ ์๊ณ ๊ฐ๋ฐ์๊ฐ ๋์๊ณ , ๊ฐ๋ฐ์๊ฐ ๋์ง 5๋ ์ด ์ง๋์์ผ ์ฑ ์ ์ฝ์ด๋ดค๋ค.
์๋ง์ ์ฑ ๋ค์ด ์์๊ณ ๊ทธ ์ค ์ ์ผ ์ ๋ช ํ ๋จ๊ถ์ฑ๋์ ์ฑ ๊ณผ ์ค์ฑ์ฐ๋์ ์ฑ ์ ์ฌ์ ํ์ด๋ณด์๋ค.
์ฑ ์ ๋๋ฌด ๋๊บผ์ ๊ณ ๋ค์๊ธ ๊น๋จน๊ณ ์๋ ๊ธฐ์ด์ง์์ ํ์ธํ๋ ๊ธฐํ๊ฐ ๋์๋ค.
๊ทธ๋ฌ๋ค๊ฐ ํ ํ์์ ๊ฐ๋ฅด์น๊ฒ ๋์๋๋ฐ ๋น์ ๊ณต์๋ผ ์ฑ ์ ๋ด์ฉ์ ์ดํดํ๋๋ฐ ํ๋ค์ดํ๋ค.
์ธ์ ๊ฐ ๋๋ ์ฑ ์ ๋ด๋ด์ผ์ง๋ผ๋ ์๊ฐ์ ๊ฐ์ง๊ณ ์๋ํฐ๋ผ ์ด์ฐธ์ ์ฑ ์ ๊ธฐ์ด๊ฐ ๋ ๋งํ ๊ฐ์๋ฅผ ์ฌ๊ธฐ์ ํด๋ณผ๊น ํ๋ค.
์ผ๋ฐ์ธ๋ค, ๊ฐ๋ฐ์๊ฐ ๋๋ ค๋ ๋น์ ๊ณต์๋ค, ๊ทธ๋ฆฌ๊ณ ์ด๋ฆฐ ํ์๋ค์ด ์ฝ์ด๋ ์ฝ๊ฒ ์ดํดํ ์ ์๋ ๋ด์ฉ์ผ๋ก ๊ฐ์๋ฅผ ํ๋ ค ํ๋ค.
๋ด ์์ด๊ฐ ๋์ค์ ์ปค์๋ ์๋ฐ๊ฐ ๋ง์ด ์ฌ์ฉ๋๋ค๋ฉด ์ฝ์ด๋ณด๋๋ก ์ถ์ฒํ ์ ์์ ์ ๋์ ํ๋ฆฌํฐ๋ฅผ ๊ฐ๋ ๋ด์ฉ์ผ๋ก ๋ง์ด๋ค.
๊ทธ๋์ ์ด๋ป๊ฒ ์ฝ๊ฒ ์ ๋ฌํ ์ ์์์ง ๋ง์ ๊ณ ๋ฏผ์ ํด์ผํ ๊ฒ์ด๊ธฐ์ ๊ฐ์๊ฐ ๋นจ๋ฆฌ ์งํ๋๊ธฐ๋ ์ด๋ ค์ธ ์ ์์ผ๋ ์กฐ๊ธ์ฉ ๊พธ์คํ ํด๋ณด๋ ค๊ณ ํ๋ค.
์ค๋์ ๊ทธ 1์ผ์ฐจ๋ก ํ๋ก๊ทธ๋๋ฐ์ด๋ ๋ฌด์์ธ์ง์ ๋ํด ์๊ธฐ๋ฅผ ํด๋ณด๊ฒ ์ต๋๋ค.
์๋ฐ๋?
์ธ์์๋ ๋ง์ ์ธ์ด๋ค์ด ์์ต๋๋ค. ํ๊ตญ์ด, ์ค๊ตญ์ด, ์์ด, ์ผ๋ณธ์ด, ์คํ์ธ์ด, ๋ถ์ด, ๋ ์ด ๋ฑ๋ฑ ๋ง์ด์ฃ .
ํ๊ตญ์ฌ๋๋ค์ ํ๊ตญ์ด๋ฅผ ์ฌ์ฉํ๊ณ , ์ผ๋ณธ์ฌ๋๋ค์ ์ผ์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด๋ค ์ฌ๋๋ค์ 3๊ฐ๊ตญ์ด 4๊ฐ๊ตญ์ด๋ฅผ ํ๊ธฐ๋ ํฉ๋๋ค.
์ผ๋ณธ์ด๋ ํ๊ตญ์ด์ ๋ฌธ๋ฒ์ด ์ ์ฌํด์ ์ฝ๊ณ , ์์ด๋ ๋ฌธ๋ฒ์ด ๋ฌ๋ผ ๋ฐฐ์ฐ๊ธฐ ์ด๋ ต๋ค๊ณ ๋ค ํฉ๋๋ค.
์ธ์ด๋ง๋ค ํน์ ํํ์ ํ ๋ ์ข๋ ๊ณต๊ฐ์ด ๊ฐ๋ ๋ฌธ์ฅ์ด ์์ต๋๋ค.
ํ๊ตญ์ด๋ก ์ง์ญ ๋๋ ์์ญํด๋ ์์ด์ ํน์ ๋ฌธ์ฅ์ ๋๋์ ๊ทธ๋๋ก ์ ๋ฌํ๊ธฐ๋ ํ๋ค ๋๊ฐ ์๋ ๊ฒ์ฒ๋ผ ๋ง์ด์ฃ .
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์๋ ๊ทธ๋ฌํ ๋ด์ฉ์ด ๋ฑ ๋ค์ด๋ง์ต๋๋ค.
์๋ฐ๋ ์๋ง์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(์ธ๊ณ ๊ฐ๊ตญ์ ์ธ์ด)๋ค ์ค ํ๋์ ๋๋ค.
์๋ฐ ๊ฐ๋ฐ์(ํ๊ตญ์ธ)๋ค์ ์๋ฐ(ํ๊ตญ์ด)๋ก ๊ฐ๋ฐ์ ํฉ๋๋ค.
๋ชจ๊ตญ์ด๋ ํ๊ตญ์ด์ด์ง๋ง 3๊ฐ๊ตญ์ด, 4๊ฐ๊ตญ์ด๋ฅผ ํ ์ค ์๋ ์ฌ๋๋ค์ด ์๋ฏ์ด,
์๋ฐ ๊ฐ๋ฐ์๋ค๋ ์๋ฐ๋ง ํ๋๊ฒ์ด ์๋๋ผ ํ์ด์ฌ, ์๋ฐ์คํฌ๋ฆฝํธ, C# ๋ฑ์ ์ธ์ด๋ฅผ ์ 2์ธ๊ตญ์ด์ฒ๋ผ ํ๊ธฐ๋ ํฉ๋๋ค.
์๋ฐ์ ๋ฌธ๋ฒ์ด ์ ์ฌํ ์ธ์ด๋ ์๋ฐ๊ฐ๋ฐ์๋ค์๊ฒ๋ learning curve๊ฐ ๋ฎ์ง๋ง, ๋๋ฌด ๋ค๋ฅธ ์ธ์ด๋ ์ ์ํ๊ธฐ๊ฐ ํ๋ค์ฃ .
๋ง์น ํ๊ตญ์ด์ ์ผ๋ณธ์ด, ํ๊ตญ์ด์ ์์ด์ ์ฐจ์ด์ฒ๋ผ ๋ง์ด์ฃ .
์๋ฐ๋ก๋ ๊ตฌํํ๊ธฐ ์ฌ์ด ๊ธฐ๋ฅ์ด ๋ค๋ฅธ ์ธ์ด์์๋ ๊ตฌํํ๊ธฐ ํ๋ค ์๋ ์์ต๋๋ค.
์ฌ๋๋ค์ ์ธ์ด๋ฅผ ์ด์ฉํ์ฌ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ์ํต์ ํฉ๋๋ค.
์ดํ๋ ฅ์ด ์ข์ ์ฌ๋์ด ์๊ณ ์์ข์ ์ฌ๋๋ ์์ฃ .
๋ํ์ ๋ ผ๋ฆฌ๊ฐ ํ์คํ ์กํ์๋ ์ฌ๋๋ ์๊ณ ๋ ผ๋ฆฌ๋ ์๊ณ ์๋ค์๋ ๋ํ๋ฅผ ํ๊ธฐ๋ ํฉ๋๋ค.
๊ฐ๋ฐ์๋ค์ ์์ค์ฝ๋๋ฅผ ์ด์ฉํ์ฌ ์ํต์ ํฉ๋๋ค.
์๋ฐ ์ธ์ด์์ ์ ๊ณตํ๋ ๋ฌธ๋ฒ์ ๋ง์ด ์๊ณ ์๋ ๊ฐ๋ฐ์๋ ์๊ณ ๊ธฐ์ด์ ์ธ ๊ฒ๋ง ์๊ณ ์๋ ๊ฐ๋ฐ์๋ ์์ฃ .
๋์ผํ ๋ฌธ์ ๋ฅผ ํ๋์๋ ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ๊ฒฐํ๊ณ ๋ช ํํ ๊ฐ๋ฐ์๋ ์๊ณ , ๊ทธ๋ ์ง ์์ ๊ฐ๋ฐ์๋ ์์ต๋๋ค.
์ฆ, ์๋ฐ๋ผ๋ ์ธ์ด๋ ๊ฐ๋ฐ์๋ค์ด ํ๋ก๊ทธ๋๋ฐ์ ํ ๋ ์ฌ์ฉํ๋ ์ 2์ธ๊ตญ์ด์ ๊ฐ์ ์กด์ฌ์ ๋๋ค.
์์ค์ฝ๋์ ์์ค
์ ์์ดํ๋ ์ ๊ฐ IDE(๊ฐ๋ฐํด)ํ๋ฉด์ ์ฝ๋ฉ์ ํ๋ ๋ชจ์ต์ ๋ณด๊ณ , "์ด๊ฒ ๋ญ์ผ? ๋๋์ฒด ๋ญ๋ผ๊ณ ์ฐ๋๊ฑด์ง ํ๋๋ ๋ชจ๋ฅด๊ฒ ๋ค. ์ด๋ฐ๊ฒ ์ดํด๊ฐ ๋?" ๋ผ๊ณ ์ง๋ฌธ์ ํฉ๋๋ค. ๋น์ฐํ ๊ทธ๋ฐ ๋ฐ์์ด ๋์ฌ ์ ๋ฐ์ ์์ต๋๋ค. ์์ดํ ์ ์ฅ์์๋ ์ ๊ฐ ์ค์ง์ ์ธ๋์ธ์ด ์ฌ์ฉํ๋ ์ธ์ด๋ก ๊ธ์ ์ฐ๊ณ ์๋ ๊ฒ์ฒ๋ผ ๋๊ปด์ง ํ ๋๊น์.
๊ฐ๋ฐ์๋ค์ ์์ ์ด ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(์ 2์ธ๊ตญ์ด)๋ฅผ ์ด์ฉํ์ฌ ์์ ๋ค๋ง์ ๊ธ์ ์จ๋ด๋ ค ๊ฐ๋๋ค. ๊ฐ์ ๋ด์ฉ์ ๋ํด์ ๊ฐ๋ฐ์ ํ๋คํด๋ ๊ฐ๋ฐ์๋ค ์ฑํฅ์ ๋ฐ๋ผ 1. ํจ์จ์ฑ์ ์กฐ๊ธ ๋จ์ด์ง์ง๋ง ๊ฐ๋ ์ฑ์ด ์ข์ ์ฝ๋๋ฅผ ์์ฑํ ์๋ ์๊ณ , 2. ํจ์จ์ฑ์ ๊ทน๋ํํ์ง๋ง ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ์ดํดํ๊ธฐ ํ๋ ์ฝ๋๋ฅผ ์์ฑํ ์๋ ์์ต๋๋ค. ๋ฌผ๋ก ์ ๋ ์ ์๋ฅผ ์งํฅํ๊ณ ํ๋ฐฐ๋ค์๊ฒ๋ ์ ์๋ฅผ ์งํฅํ๋๋ก ์กฐ์ธํฉ๋๋ค.
์์ธ, ์์ค์๊ฐ, ์ํ๊ฐ ๋ฑ ๊ธ์ ์ฐ๋ ๋ถ๋ค์ด ๋จ์ด ํ๋ํ๋์ ๊ณ ์ฌ์ ํ๋ฏ ์ ๋ ์ฝ๋ฉ์ ํ ๋ ๊ณ ๋ฏผ์ ๋ง์ด ํฉ๋๋ค. ๋์ผํ ๊ธฐ๋ฅ์ ํ๋๋ผ๋ ์ข ๋ ๊ฐ๊ฒฐํ๊ณ ๋ช ํํ๊ฒ ํจ์จ์ ์ธ ์ฝ๋ฉ์ ํ๋ ค๊ณ ๋ง์ด์ฃ . ์ข์ ๊ธ์ ์์ฑํ๊ธฐ์ํด ์ฒจ์ญ์ ๋ฐ๋ ๊ฒ์ฒ๋ผ, ๊ฐ๋ฐ์๋ค๋ ์ฝ๋๋ฆฌ๋ทฐ ์๊ฐ์ ํตํด ๊ณ ๊ธ๊ฐ๋ฐ์๋ค์ ์กฐ์ธ์ ๋ฃ์ต๋๋ค. ๊ทธ๋์ ์ ๋ ํ๋ก๊ทธ๋๋ฐ์ ์ด๋ ๊ฒ ์ ์ํฉ๋๋ค. "ํ๋ก๊ทธ๋๋ฐ์ด๋ ๊ฐ๋ฐ์๋ค์ด ์จ๋ด๋ ค๊ฐ๋ ๊ธ์ด๋ค"๋ผ๊ณ ๋ง์ด์ฃ . ๋ด๊ฐ ์์ฑํ ์ฝ๋๊ฐ ์งง์ง๋ง ์ดํดํ๊ธฐ ์ด๋ ค์ด ์๊ฐ ๋ ์๋ ์๊ณ , ์ข ๊ธธ์ด๋ ์ ์ ์ฝ์ด๋ด๋ ค๊ฐ ์ ์๋ ํํ์ง ์์ค์ด ๋ ์๋ ์์ต๋๋ค. ์ด๋ค ๊ธ์ ์์ฑํ๋๋๋ ์์ ํ ๊ฐ๋ฐ์๋ค์ ๋ชซ์ด์ฃ .
Wrap Up
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๊ฐ๋ฐ์ ์ํ ์ธ์ด๋ก ์ผ์ด, ์ค๊ตญ์ด, ์์ด์ ๊ฐ์ ์ 2์ธ๊ตญ์ด์ ํ๋๋ค.
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์๋ ์ฌ๋ฌ ์ธ์ด๋ค์ด ์กด์ฌํ๋๋ฐ ๊ทธ ์ค ํ๋๊ฐ ์๋ฐ(java)๋ค.
๊ณ ๊ธ๋ด์ฉ ๋ณด์ถฉ
์๋ฐ๋ ๋ค๋ฅธ ์ธ์ด๋ค๊ณผ๋ ๋ค๋ฅด๊ฒ JVM(Java Virtual Machine)์ด๋ผ๋ ๊ฐ์๋จธ์ ์์์ ์คํ์ด ๋ฉ๋๋ค. ์ด ๋๋ฌธ์ ํ๋ซํผ(OS, ์ด์์ฒด์ )์ ์์กด์ ์ด์ง ์์ฃ . Linux๊ณ์ด์์๋ ์คํ์ด ๊ฐ๋ฅํ๊ณ , Windows์์๋ ์คํ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ฌ์ง์ด ์๋๋ก์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ ์๋ฐ๋ก ๊ฐ๋ฐํฉ๋๋ค(์์ฆ์ Kotlin์ด๋ผ๋ ์ธ์ด๋ ๋ง์ด ์ฌ์ฉํ์๋๊ตฐ์). ๋ํ, JVM์ด ์ง์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ํด์ฃผ๊ธฐ ๋๋ฌธ์ ๋ณ๋๋ก ๊ฐ๋ฐ์๊ฐ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ํ์ง ์์๋ ๋ฉ๋๋ค. C์ธ์ด๋ ๊ฐ๋ฐ์๊ฐ ์ง์ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผ์ ํ์ฌ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ด๋ฆฌ๋ ์ง์ ํด์ผํ์ฃ .
์๋ฐ๋ ์น๊ฐ๋ฐ์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค. Python(ํ์ด์ฌ)์ ๋น ๋ฐ์ดํฐ ์์ญ์์ ๋ง์ด ์ฌ์ฉ๋๊ณ , C, C++์ ์๋ฒ ๋๋ ์์ญ์์ ๋ง์ด ์ฌ์ฉ๋๋ฉฐ, C#์ ๊ฒ์๊ฐ๋ฐ์์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
'๐ป Programming > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ์๋ฐ 1์ฐจ์ ๋ฐฐ์ด ์์ฑ(์ ์ธ ๋ฐ ์ด๊ธฐํ) (0) | 2019.06.25 |
---|---|
[์ฐ๋ฆฌ ์์ด๋ฅผ ์ํ Java ๊ฐ์ 2์ผ์ฐจ] ๋ฌด์์ ๋ฐ๋ผํ๊ธฐ (0) | 2019.06.22 |
[Java] ๋ก๋ ๋ฒํธ ์๋ ์์ฑ๊ธฐ ๋ง๋ค๊ธฐ (0) | 2019.06.17 |
[Java] Reversing String Using StringBuilder (StringBuilder๋ก ์คํธ๋ง์ ๊ฑฐ๊พธ๋ก ๋ค์ง๊ธฐ) (0) | 2019.02.25 |
[Java] ๋๋ค ์ซ์ ๊ตฌํ๊ธฐ (0) | 2019.01.27 |