Java Handbook_Part 1โ๏ธ
์ธ์ด์ ์ญ์ฌ
- ์ปดํจํฐ๋ ๋งค์ฐ ๋น ๋ฅธ ์๋๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ํ์ง๋ง 2์ง๋ฒ๋ฐ์ ํ ์ค ๋ชจ๋ฅธ๋ค....
๋ฐ๋ผ์ ์ปดํจํฐ๋ ๋ฐ๋ณด์ง๋ง ๋น ๋ฅด๊ณ ์ ํํ ์น๊ตฌ์ด๋ค!! - ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๊ฒ '01010101 00000001 00001001' ์ฒ๋ผ ํํ๋๋ ์ธ์ด : ๊ธฐ๊ณ์ด
ํ์ง๋ง ์ฌ๋์ ์ ์ฅ์์ ๊ธฐ๊ณ์ด๋ ๋๋ฌด ๋ณต์กํ๊ณ ์ด๋ ต๋ค. - ๊ทธ๋์ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ธฐ๊ณ ๋ช ๋ น์ด์ ์ผ์ ์ฉ์ด๋ฅผ 1:1๋ก ๋งค์นญํ๋ ๊ธฐ๊ณ์ด์ ๋๋ชจ๋์ ๋งค์นญ ์ฝ๋ํ๋ฅผ ๋ง๋ค์๋ค!
์ด์ ๋ธ๋ฆฌ์ด
- ๋งค์นญ ์ฝ๋ํ = ์ด์ ๋ธ๋ฆฌ
- CPU๋ง๋ค ์คํํ ์ ์๋ ๊ธฐ๊ณ์ด๊ฐ ๋ฌ๋๊ธฐ ๋๋ฌธ์ ์ด์ ๋ธ๋ฆฌ์ด๋ ๋ค๋ฅด๊ฒ ๋ง๋ค์ด์ก๋ค.
- ์ด์ ๋ธ๋ฆฌ์ด๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํด ์ฃผ๋ ์ํํธ์จ์ด = ์ด์ ๋ธ๋ฌ
- ์ด์ ๋ธ๋ฆฌ์ด์ ๋ฑ์ฅ์ผ๋ก ๋ง์ ๊ฐ๋ฐ์๋ค์ด ํธํด์ก์ง๋ง ๊ฐ์ ํด์ผ ํ ์ ์ด ์์๋ค...
C์ธ์ด
- C์ธ์ด์ ๋ฑ์ฅ์ผ๋ก ์์คํ์ผ์ ๋จ ํ๋๋ง ๋ง๋ค์ด๋ ๋๋ ์๋๊ฐ ๋์๋ค.
- ํ๋์ ์์คํ์ผ์ ๊ฐ ๊ธฐ๊ณ์ด์ ๋ง๋ ์ปดํ์ผ๋ฌ๋ก ์ปดํ์ผ์ ํ์ฌ ๊ธฐ๊ณ์ด ๋ชฉ์ ํ์ผ์ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๋ ์์คํ์ผ์ด ๋์ํ๋ ๊ธฐ๊ณ์ ์๊ด์์ด ๊ฐ๋ฐ์ด ๊ฐ๋ฅํด์ก๋ค.
- ์ฆ, ํ๋์ ์์ค๋ง ์์ฑํ๋ฉด ๋ชจ๋ ๊ธฐ์ข ์ ์ปดํจํฐ์์ ์คํ์ด ๊ฐ๋ฅํ๋ค.
- ์ด์ ๋ธ๋ฆฌ์ด์ ๋น๊ตํ๋ฉด ์ด์์ ์ธ ์ํฉ์ด์ง๋ง ์ด์์ ์ฒด๋ค์ ๊ฐ๊ฐ์ ํน์ฑ์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ C์ธ์ด๋ฅผ ์ปดํ์ผํ๊ธฐ ์ ์ ๊ฐ ๊ธฐ์ข ๋ณ๋ก ์์ค์ฝ๋๋ฅผ ์์ ํ ํ์๊ฐ ์๋.... ์์ง ๊ฐ์ ํ ์ ์ด ์์๋ค.
Java์ ๋ฑ์ฅ
- Java๋ '๊ฐ์ฒด์งํฅ์ธ์ด'
- ๊ฐ์ฒด์งํฅ ์ธ์ด์ ์ค์ฌ์๋ ํด๋์ค(Class)๊ฐ ์๋ค.
- C++์ ํด๋์ค ์์ด๋ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด์งํฅ์ง์ ์ธ์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ์ง๋ง Java๋ ํด๋์ค ์์ด๋ ๊ฐ๋ฐ์ด ๋ถ๊ฐ๋ฅํ๋ค.
- Java๋ ๊ฐ๋ฐ์ ์์๊ณผ ๋ ๋ชจ๋ ํด๋์ค์์ ์์ํ๊ณ ํด๋์ค์์ ๋๋๊ฒ ๋๋ค.
- ํ๋ก๊ทธ๋จ์ด ์์ํ๋ main() ๋ฉ์๋๋ก ์๋ฅผ ๋ค์ด๋ณด์๋ฉด Java๋ ๋ฌด์กฐ๊ฑด ํด๋์ค ๋ด๋ถ์ ์กด์ฌํด์ผ ํ๋ค.
public class Student {
private String name;
private int age;
public voir study(){
System.out.println("๊ณต๋ถ");
}
public static void main(String[] args){
Student student = new student();
student.study();
}
}
- Java๋ ๋จ ํ๋์ ์์ค ํ์ผ๋ก ๋ชจ๋ ๊ธฐ์ข ์ ์ปดํจํฐ์์ ์คํ์ด ๊ฐ๋ฅํ๋ค.
Java ํ๊ฒฝ์ค์
๋ง์ ์ฌ๋๋ค์ด ์ฒ์ Java๋ฅผ ์ ํ ๋, JDK์ JRE์ ์ญํ ์ ํผ๋ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ๊ฐ ์ฉ์ด๊ฐ ์๋ฏธํ๋ ๋ฐ์ ์ญํ ์ ๋ฐ๋์ ์ง๊ณ ๋์ด๊ฐ์!!
- JDK(Java Development Kit)
- Java ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํด ๋ฐ๋์ ํ์ํ๋ฉฐ, ์ฌ๋์ด ์์ฑํ ์์ค ์ฝ๋๋ฅผ ๋ฒ์ญํ์ฌ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ๋ฐ์ดํธ ์ฝ๋๋ก ๋ณํํ๋ ๋๊ตฌ์ธ Java ์ปดํ์ผ๋ฌ๊ฐ ํฌํจ๋์ด ์๋ค.
- ๋ํ์ ์ธ ๊ฒ์ด Oracle JDK. Oracle JDK๋ ์์ฉ๋ฒ์ ์ผ๋ก ๊ณต๊ฐ๋๊ณ ์์ผ๋ฉฐ, ๋ผ์ด์ผ์ค ์ด์๋ฅผ ํผํ๊ธฐ ์ํด์๋ ๋ค๋ฅธ ์ ์กฐ์ฌ์ JDK ์ด์ฉ์ ๊ถ์ฅํ๋ค.
- JDK์๋ JRE๊ฐ ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ณ๋๋ก ๋ถ๋ฆฌํ์ฌ ์ค์นํ ํ์๊ฐ ์๋ค.
- JRE(Java Runtime Environment), JVM(Java Virtual Machine)
- Java๋ก ์ปดํ์ผ ๋ ์ดํ๋ฆฌ์ผ์ด์ ์ ์คํํ๋ ์ญํ ์ ํ๋ค. ๋ชจ๋ Java ์ดํ๋ฆฌ์ผ์ด์ ์ JVM์ด๋ผ๊ณ ํ๋ ๊ฐ์์ ์ปดํจํฐ ๊ณต๊ฐ์์ ์คํ๋๋ฉฐ, Windows, Linux, Mac ๋ฑ ์ด๋ ํ ์ด์์ฒด์ ๋ผ๋ JVM์ด ์ค์น๋์ด ์๋ค๋ฉด Java ์ดํ๋ฆฌ์ผ์ด์ ์ ์คํํ ์ ์๋ค.
์ด์์ฒด์ ๋ณ ๋ค์ด๋ก๋ ๋ฐ ์ค์น
Windows - ๋ด๊ฐ ์ฌ์ฉํ๋ ๋ ธํธ๋ถ์ด Windows๋ผ์ Windows๋ฅผ ๋ฐ๋ผ ์งํ!!
- ๋งํฌ์ ์ ์ ํ [.msi] ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ค์น ํ์ผ์ ๋ค์ด๋ก๋ํ ํ ์ค์นํ๋ค.
- ํ์๊ธฐ > ๋ด PC ๋ง์ฐ์ค ์ฐํด๋ฆญ > ์์ฑ์ ํด๋ฆญํ๋ค.
- ์ข์ธก ๋ฉ๋ด ์ตํ๋จ์ "๊ณ ๊ธ ์์คํ ์ค์ "์ ํด๋ฆญํ๋ค.
- "ํ๊ฒฝ ๋ณ์"๋ฅผ ํด๋ฆญํ๋ค.
- ํ๋จ <์์คํ ๋ณ์> ์์ญ์ "์๋ก ๋ง๋ค๊ธฐ"๋ฅผ ํด๋ฆญํ๋ค.
- ๋ณ์ ์ด๋ฆ์ JAVA_HOME, ๊ฐ์ ์๋์ ๊ฐ์ด ์ ๋ ฅํ๋ค.
C:\Program Files\Zulu\zulu-17
- ๋ง์ฐฌ๊ฐ์ง๋ก <์์คํ ๋ณ์> ์์ญ์ "Path"๋ฅผ ์ฐพ๊ณ "ํธ์ง"์ ํด๋ฆญํ๋ค. ์ ์ผ ๋์ ์๋ ๋ด์ฉ์ ์ ๋ ฅํ๋ค.
C:\Program Files\Zulu\zulu-17\bin
- "ํ์ธ"์ ๋๋ฅด๊ณ ๋น ์ ธ๋์จ ๋ค, ์๋์ฐํค + R์ ๋๋ฅด๊ณ cmd ์ ๋ ฅ ํ ์ํฐ๋ฅผ ๋๋ฅธ๋ค.
- ์๋ ๋ด์ฉ์ ์ ๋ ฅํ์ ๋, Open JDK ๊ด๋ จ ์ ๋ณด๊ฐ ํ์๋๋ฉด ์ค์น ์๋ฃ ๐
java -version
IntelliJ ์ค์นํ๊ธฐ
IntelliJ๋ JetBrain์์ ๊ฐ๋ฐํ Java ์ ์ฉ IDE(Integrated Devalopment Environment, ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ)์ด๋ค. ์์ค๋ฅผ ์์ฑํ๋ ๊ฒ๋ถํฐ ์๋ฒ๋ฅผ ์คํ, ํฐ๋ฏธ๋ ์ฌ์ฉ, ๊ฐ์ข ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ด ํ๋์ ํ๋ก๊ทธ๋จ์ ํตํฉ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ํธ๋ฆฌํ๊ฒ ๊ฐ๋ฐ ์งํ์ด ๊ฐ๋ฅํ๋ค!!
IntelliJ Ultimate ๋ฑ๋ก ๊ฐ์ด๋์ ์ ํ ์์๋๋ก ์งํํ๊ณ ์์๋๋ฐ..... ๋ผ์ด์ผ์ค ๋ฑ๋ก ๊ณผ์ ์์ ์ธํ ๋ฆฌ์ ์ด ๋ผ์ด์ผ์ค ์ฝ๋๋ฅผ ์ ๋ ฅํ๋ผ๊ณ ๋์ค๋๋ฐ.. ์ด๋ ์ฐพ์๋ด๋ ์ฝ๋๋ฅผ ์ฐพ์ ์ ์์ด์ ๋ผ์ด์ผ์ค ๋ฑ๋ก์ ํ์ง ๋ชปํ๋ค... ๐ฅฒ๐ฅฒ๐ฅฒ
ํด๊ฒฐ๋ฐฉ๋ฒ์ ์ฐพ์ผ๋ฉด ๊ทธ ๋ค์ ์ด์ด์ ํด์ผ์ง..๐