โ Java * ์คํ์์ผ๋ณด๊ธฐ Hello world! ( peat. ํ๊ธํฌํจ ์คํ )
ํ ํ์ด์ง๋ Windows๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์์ต๋๋ค!
java, javac ๋ช ๋ น์ด ์ ๋ ฅ์ Linux, Windows, OS X ์์ ๋๊ฐ์ผ๋ ๊ทธ ์ธ ๋ค๋ฅธ ์ค๋ช ์ windows ๊ธฐ๋ฐ์ด์ค๋ ์ฐธ๊ณ ๋ฐ๋๋๋ค!
์ค์น๋ฅผ ๋ค ๋๋๋ค๋ฉด Hello world๋ฅผ ํด๋ณด๋๊ฒ ํ์!
์์ง ํ๊ฒฝ ๊ตฌ์ฑ์ ์ ํ๋ค๋ฉด? ๊ฐ์ OS์ ๋ง๋๋ก ํ๊ฒฝ๊ตฌ์ฑ์ ํ๋๋ก ํ์!
๋ง์ฝ ๋ด OS๊ฐ windows๋ผ๋ฉด? ์๋ ๊ธ์ ์ฐธ๊ณ ํ์!
1. ๋ฉ๋ชจ์ฅ์ ์ด์!
2. ์ฝ๋๋ฅผ ์์ฑํ์!
์ง์ ์ ๋ ฅํด๋ ๋์ง๋ง, ์ด๋ณด์๋ผ๋ฉด ์๋ ์ฝ๋๋ฅผ ๋ณต๋ถํด์ ์ฌ์ฉํ์!
- Java๋ class ์ด๋ฆ์ ์ฒซ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก ๋๋จธ์ง๋ฅผ ์๋ฌธ์๋ก ์์ฑํ๋ค!
public class Hello {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
3. ์ ์ฅ์ ํ์!
์ด๋ ํ์ผ ์ด๋ฆ๋์ .java๋ฅผ ๋ถ์ฌ์ฃผ๊ณ ํ์ผ ํ์์ ๋ชจ๋ ํ์ผ๋ก ๋ฐ๊ฟ์ฃผ์!
๋ฐ๊พธ์ง ์์๋ ๋ณดํต .java๋ก ํ์ฅ์๋ฅผ ์ง์ ํด์ ์ ์ฅํ๋ฉด java ํ์ผ๋ก ์ ์ฅ์ด๋๋๋ฐ, ๊ฐํน .java.txt ์ฒ๋ผ text ํ์ผ๋ก ์ ์ฅ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ ๊ทธ๋ฅ ๋ง ํธํ๊ฒ ๋ฐ๊ฟ์ ์ ์ฅํด์ฃผ์!
java๋ main์ด ๋ค์ด์๋ class์ ๋ช ๊ณผ ํ์ผ๋ช ์ ์ผ์น ์์ผ์ฃผ์ด์ผ ํ๋ค!
์ด๊ฒ ๋ฌด์จ๋ง์ด๋... ๋ง์ฝ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๊ฐ ํ ํ์ผ์ ๋ค์ด์๋ค๊ณ ์๊ฐํด๋ณด์.
( ์์ ์ฝ๋๋ก ์๋ฌด๋ ๊ฒ๋ ๋ง๋ ๊ฒ์ด์ฌ์ ์ฝ๋์ ๋ฌธ์ ๊ฐ ์์ ์๋ ์๋ค ๐ฅ)
์ฌ๊ธฐ์ Hello ๋ผ๋ class์ main์ด ๋ค์ด์๊ณ Hi ๋ผ๋ class์๋ other์ด ๋ค์ด์๋ค.
๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๋ main์ด ๋ค์ด์๋ Hello๋ผ๋ class๋ช ์ ํ์ผ์ด๋ฆ์ผ๋ก ์ ์ด์ค์ผ ํ๋ ๊ฒ!
= ํด๋น ์ฝ๋๋ฅผ ์ ์ฅํ ๋ ํ์ผ๋ช ์ Hello.java๊ฐ ๋๋ค.
4. ๋ฐ์ด๋๋ฆฌ ์ฝ๋๋ก ๋ณ๊ฒฝํ์!
์ฐ๋ฆฌ๊ฐ ์์ฑํ java code๋ฅผ JVM์ด ์ฝ์ ์ ์๋ binary code๋ก ๋ณ๊ฒฝํด์ฃผ์ด์ผ ํ๋ค! ์ด๋ฌํ ๊ณผ์ ์ javac ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์งํํ๋ค!
> javac ํ์ผ๋ช .java
์๋ฌด๊ฒ๋ ๋จ์ง ์๋ ๋ค๋ฉด ์ฝ๋ ๋ณํ์ ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์์๋ค๋ ๊ฒ! ๋ง์ฝ ์๋ฌ๊ฐ ๋ฌ๋ค๋ฉด...? ํด๊ฒฐํ์ ๐ฃ
๋ช ๋ น์ด๋ฅผ ๋ฌด์ฌํ ์คํํ๊ณ ๋๋ฉด dir ๋ฅผ ์ ๋ ฅํด์ ํ์ผ๋ช .class ๋ผ๋ ํ์ผ์ด ์์ฑ๋ ๊ฒ์ ํ์ธํ์.
์ด ํ์ผ์ด ๋ฐ๋ก JVM์ด ์ฝ์ ์ ์๋ binary file์ด๋ค!
5. ๊ทธ๋ ๋ค๋ฉด ์ด์ ์คํ์์ผ ๋ณด์!
> java ํ์ผ๋ช
๋ ์์๋ณด๊ธฐ
ํ๊ธ์ ๋ฃ์ผ๋ฉด ์ด์ํด์ง๋ค!?
์ฃผ์๋ฌธ์ด๋ ์ถ๋ ฅ๋ฌธ ์ด๋๋ ๊ฐ์ ์ฝ๋์์ ํ๊ธ์ด ๋ค์ด๊ฐ๋ฉด ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฌ๋ค!
์ด๋ฅผ ํด๊ฒฐํด๋ณด์ ๐ง!
1. ์ผ๋จ ์์ ์ฝ๋!
public class Hello {
public static void main(String[] args) {
System.out.println("Hello world!");
System.out.println("์๋
์ธ์!");
}
}
2. javac ๋ช ๋ น์ด ์คํ์ encoding ์ต์ ์ ์ถ๊ฐํด์ค๋ค!
์ธ์ฝ๋ฉ์๋ฌ์ธ๋ฐ.. ์ด๊ฑธ ์ฐธ ๊ฐ๋ตํ๊ฒ ์ค๋ช ํ๊ธฐ๊ฐ.. ..์ธํฐ๋ท ๊ฒ์์ ํ ๋ฒ ํด๋ณด๊ธธ ๋ฐ๋๋ค T^T.. ์ฃ์ก..
์๋ ํ๊ป ์ค๋ช ํด๋ณด์๋ฉด,, OS๋ง๋ค ๊ธ์ด ์ ์ฅ๋๋ ํ์์ด ๋ค๋ฅธ๋ฐ, windows์ ๋ฐ๋ก ์ค์ ํ์ง ์์๋ค๋ฉด Korean(EUC-KR)๋ก ๋์ด์๋ค.
๊ทธ๋์ ํ๊ธ์ ์ถ๋ ฅํ ๋ ๋ฌธ์ ๊ฐ ๋๋ ๊ฒ์ธ๋ฐ.. ๋ณดํต UTF-8์ ์ฌ์ฉํ๋ฉด ์ธ์ฝ๋ฉ๊ณผ์ ์์ ๋ฌธ์ ๊ฐ ์๊ธฐ์ง ์๋๋ค!
> javac -encoding UTF-8 ํ์ผ๋ช .java
ใ ใ ใ ์๋ ์ธ์!
Thanks for ๐
- Teacher. Park Min