๐CHAP 1. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ (OOP)
- ์ ์ฐจ์งํฅ vs. ๊ฐ์ฒด์งํฅ: ์ ์ฐจ์งํฅ์ ์์๋๋ก, ๊ฐ์ฒด์งํฅ์ ๋ธ๋ก(๊ฐ์ฒด)์ ์กฐ๋ฆฝํ์ฌ ๊ตฌ์ฑ
- ์ฅ์ : ์ฌ์ฌ์ฉ์ฑ, ์ ์ง๋ณด์ ์ฉ์ด์ฑ, ๋น ๋ฅธ ๊ฐ๋ฐ
- ๋ ๊ณ ๋ธ๋ก ๋น์ : ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ๋ธ๋ก์ ์กฐ๋ฆฝํด ํ๋ก๊ทธ๋จ ์์ฑ
2. ์๋ฐ(Java)์ ํน์ง ๋ฐ ํ์ ๋ฐฐ๊ฒฝ
- ํ์ ๋ฐฐ๊ฒฝ: ์ ์์ค ๊ณ ์ฌ๋ง์ด 1991๋ ์ ์์ ํ ์ ์ด๋ฅผ ์ํด ๊ฐ๋ฐ
- ํ๋ซํผ ๋ ๋ฆฝ์ฑ: JVM์ ํตํด ์ด์์ฒด์ ์ ๊ด๊ณ์์ด ์คํ ๊ฐ๋ฅ
- ๊ฐ๋น์ง ์ปฌ๋ ์ : ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ก ์์ ํ๊ณ ํธ๋ฆฌํ ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ ์ ๊ณต
- ๋ฉํฐ์ค๋ ๋: ์ฌ๋ฌ ์์ ์ ๋์์ ์ฒ๋ฆฌํด ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ํ๋ก๊ทธ๋จ ๊ตฌํ
3. ์๋ฐ์ ์คํ ๊ตฌ์กฐ
- ๋ฐ์ดํธ์ฝ๋:
.java
ํ์ผ โ.class
๋ฐ์ดํธ์ฝ๋๋ก ์ปดํ์ผ โ JVM์ด ์คํ - JVM ์ญํ : ๋ฐ์ดํธ์ฝ๋๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญ ํ ์ด์์ฒด์ ์ ๋ง๊ฒ ์คํ
- ํ๊ฒฝ๋ณ์ ์ค์ :
Path
์ JDK ์ค์น ๊ฒฝ๋ก ์ถ๊ฐ ์ ์ด๋์๋javac
์java
๋ช ๋ น์ด ์ฌ์ฉ ๊ฐ๋ฅ
4. ๊ฐ๋ฐ ๋๊ตฌ ์ดํด๋ฆฝ์ค(Eclipse)
- ์๋ฐ ๊ฐ๋ฐ์ ์ํ IDE: ์๋์์ฑ, ์ค๋ฅ ์ฒดํฌ, ๋น ๋ฅธ ์คํ ๋ฑ ํธ๋ฆฌํ ๊ธฐ๋ฅ ์ ๊ณต
- ํ๋ก์ ํธ ๊ตฌ์กฐ:
src
(์์ค ์ฝ๋)์bin
(์ปดํ์ผ๋ ๋ฐ์ดํธ์ฝ๋) ๊ตฌ๋ถ - ๋จ์ถํค ํ์ฉ:
Ctrl+Space
(์๋์์ฑ),Ctrl+S
(์ ์ฅ),Ctrl+Shift+O
(import ์ ๋ฆฌ) ๋ฑ
5. ํต์ฌ ๊ฐ๋ ์์ฝ
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ: ์ฌ์ฌ์ฉ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ด ๋ฐ์ด๋จ
- ์๋ฐ ํน์ง: ํ๋ซํผ ๋ ๋ฆฝ์ฑ, ๊ฐ๋น์ง ์ปฌ๋ ์ , ๋ฉํฐ์ค๋ ๋
- JVM: ๋ฐ์ดํธ์ฝ๋๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ณํํด ์ด์์ฒด์ ๋ ๋ฆฝ์ฑ ์ ๊ณต
-
์ดํด๋ฆฝ์ค: ๊ฐ๋ฐ ์์ฐ์ฑ์ ๋์ด๋ ๊ฐ๋ ฅํ IDE
๐ ๋ถ๋ก: ์๋ฐ ์ค์น
๐น ์๋ฐ ์ค์น ๋ฐฉ๋ฒ
1๏ธโฃ ์ค๋ผํด JDK ๋ค์ด๋ก๋
2๏ธโฃ ์ค์น ํ ํ๊ฒฝ๋ณ์(JAVA_HOME
, Path
) ์ค์
3๏ธโฃ ํฐ๋ฏธ๋์์ java -version
๋ฐ javac -version
์ผ๋ก ํ์ธ
๐ ํ๊ฒฝ๋ณ์๋? ๊ทธ๋ฆฌ๊ณ ์ ์ค์ ํด์ผ ํ ๊น?
์ด์ ํ๊ฒฝ๋ณ์(Environment Variable)์ ๋ํด ๋ฐฐ์๋ณผ ๊ฑฐ์์! ๐
ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ ํ๋ฉด ์ด๋์๋ ์๋ฐ๋ฅผ ์คํํ ์ ์๋๋ก ํด์ค์.
๐ 1. ํ๊ฒฝ๋ณ์๋?
โก๏ธ ํ๊ฒฝ๋ณ์๋ ์ด์์ฒด์ (Windows, Mac, Linux)๊ฐ ํ๋ก๊ทธ๋จ์ ์ฝ๊ฒ ์ฐพ์ ์ ์๋๋ก ๋๋ ์ค์ ๊ฐ์ด์์.
๐ก ์ฝ๊ฒ ์ค๋ช ํ๋ฉด?
๐ ์ ํ๋ฒํธ๋ถ๋ผ๊ณ ์๊ฐํ๋ฉด ๋ผ์!
- ์น๊ตฌํํ ์ ํํ๋ ค๋ฉด ์ด๋ฆ(ํ๊ฒฝ๋ณ์)๋ง ์ ๋ ฅํ๋ฉด ์๋์ผ๋ก ์ ํ๋ฒํธ(๊ฒฝ๋ก)๋ฅผ ์ฐพ์์ฃผ์ฃ ?
- ๋ง์ฐฌ๊ฐ์ง๋ก ํ๊ฒฝ๋ณ์์ ์๋ฐ ๊ฒฝ๋ก๋ฅผ ๋ฑ๋กํ๋ฉด, ์ด์์ฒด์ ๊ฐ ์๋ฐ ํ๋ก๊ทธ๋จ(
javac
,java
)์ ์๋์ผ๋ก ์ฐพ์ ์คํํ ์ ์์ด์!
๐ 2. ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ ํ์ง ์์ผ๋ฉด?
๋ง์ฝ ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ ํ์ง ์๊ณ javac
๋ฅผ ์คํํ๋ฉด ์ด๋ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํด์!
C:\Users\๋ด์ด๋ฆ> javac
'javac'์(๋) ๋ด๋ถ ๋๋ ์ธ๋ถ ๋ช
๋ น, ์คํํ ์ ์๋ ํ๋ก๊ทธ๋จ, ๋๋ ๋ฐฐ์น ํ์ผ์ด ์๋๋๋ค.
๐ฅ ์ ์ด๋ฐ ์ค๋ฅ๊ฐ ๋ ๊น?
์ด์์ฒด์ ๊ฐ ์๋ฐ ์ปดํ์ผ๋ฌ(javac
)๊ฐ ์ด๋ ์๋์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ด์์!
โ 3. ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ ํ๋ฉด?
ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ ํ๋ฉด, ํฐ๋ฏธ๋์์ ๋ฐ๋ก ์คํํ ์ ์์ด์! ๐
C:\Users\๋ด์ด๋ฆ> javac
(์ ์ ์คํ๋จ)
โ ์ด์์ฒด์ ๊ฐ javac
์ ์์น๋ฅผ ์๊ณ ์คํํ ์ ์๊ฒ ๋จ!
๐ 4. Windows์์ ํ๊ฒฝ๋ณ์ ์ค์ ๋ฐฉ๋ฒ
(โ
Mac, Linux๋ ํฐ๋ฏธ๋์์ export
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋ผ์!)
1๏ธโฃ ์๋ฐ๊ฐ ์ค์น๋ ํด๋ ์ฐพ๊ธฐ
- ์์:
C:\Program Files\Java\jdk-17\bin
2๏ธโฃ ํ๊ฒฝ๋ณ์ ์ค์
JAVA_HOME
์ถ๊ฐ โC:\Program Files\Java\jdk-17
Path
์C:\Program Files\Java\jdk-17\bin
์ถ๊ฐ
3๏ธโฃ ์ค์ ํ์ธ
- ํฐ๋ฏธ๋์์
java -version
์คํ
๐ฏ 5. ์ ๋ฆฌ - ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ ํ๋ฉด ์ข์ ์
โ
javac
, java
๋ฅผ ์ด๋์๋ ์คํ ๊ฐ๋ฅ!
โ ์ด์์ฒด์ ๊ฐ ์๋์ผ๋ก ์๋ฐ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ ์คํ!
โ ๊ฐ๋ฐ ๋๊ตฌ(์ดํด๋ฆฝ์ค, VS Code ๋ฑ)์์๋ ์๋ฐ๋ฅผ ์ฝ๊ฒ ์ธ์!