์ ํ๋ธ์์ ๊น์ํ์ ์๋ฐ ๋ฌด๋ฃ ์ ๋ฌธ - ์ฝ๋๋ก ์์ํ๋ Java ์ฒซ๊ฑธ์ 10์๊ฐ์ ์ฐธ๊ณ ํ์ฌ ๋ด์ฉ์ ์ ๋ฆฌํ๋ค๐
์๋ฐ ํ๋ก๊ทธ๋จ ์คํ
Hello Java
public class HelloJava { // ํด๋์ค
public static void main(String[] args){ // ํ๋ก๊ทธ๋จ ์คํ ์์
System.out.println("hello java");
}
}
โญ ์ฃผ์โญ
์๋ฐ ์ธ์ด๋ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๊ธฐ ๋๋ฌธ์ ๋์๋ฌธ์๊ฐ ๋ค๋ฅด๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์๋ค!!
์ฝ๋ ๋ถ์
public class HelloJava
- HelloJava : ํด๋์ค์ด๋ค. ํด๋์ค(class)์ ๊ฐ๋ ์ ํ์ตํด์ผ ์ดํดํ ์ ์๋ค..
- ์ง๊ธ์ ๋จ์ํ๊ฒ HelloJava.java๋ผ๋ ํ์ผ์ ๋ง๋ค์๋ค๊ณ ์ดํดํ๋ฉด ๋๋ค.
- ํ์ผ๋ช ๊ณผ ํด๋์ค ์ด๋ฆ์ด ๊ฐ์์ผ ํ๋ค.
- { } ๋ธ๋ก์ ์ฌ์ฉํด์ ํด๋์ค์ ์์๊ณผ ๋์ ๋ํ๋ธ๋ค.
public static void main(String[] args)
- main ๋ฉ์๋๋ผ๊ณ ํ๋ค. ๋ฉ์๋์ ๊ฐ๋ ์ ํ์ตํด์ผ ์ดํดํ ์ ์๋ค..
- ์๋ฐ๋ main(String[] args) ๋ฉ์๋๋ฅผ ์ฐพ์์ ํ๋ก๊ทธ๋จ์ ์์ํ๋ค.
- ์ง๊ธ์ main์ด ํ๋ก๊ทธ๋จ์ ์์์ ์ด๋ผ๊ณ ์ดํดํ๋ฉด ๋๋ค!
System.out.println("hello java");
- System.out.println() : ๊ฐ์ ์ฝ์์ ์ถ๋ ฅํ๋ ๊ธฐ๋ฅ์ด๋ค.
- "hello java" : ์๋ฐ๋ ๋ฌธ์์ด์ ์ฌ์ฉํ ๋ ""(ํฐ๋ฐ์ดํ)๋ฅผ ์ฌ์ฉํ๋ค. ํฐ๋ฐ์ดํ ์ฌ์ด์ ์ํ๋ ๋ฌธ์์ด์ ๊ฐ์ธ๋ฉด ๋๋ค.
- ; : ์๋ฐ๋ ์ธ๋ฏธ์ฝ๋ก ์ผ๋ก ๋ฌธ์ฅ์ ๊ตฌ๋ถํ๋ค. ๋ฌธ์ฅ์ด ๋๋๋ฉด ์ธ๋ฏธ์ฝ๋ก ์ ํ์๋ก ๋ฃ์ด์ฃผ์ด์ผ ํ๋ค.
๋ธ๋ก(block) ์์
public class HelloJava { //HelloJava ํด๋์ค์ ๋ฒ์ ์์
public static void main(String[] args) { //main() ๋ฉ์๋์ ๋ฒ์ ์์
System.out.println("hello java");
} //main() ๋ฉ์๋์ ๋ฒ์ ๋
} //HelloJava ํด๋์ค์ ๋ฒ์ ๋
- ๋ธ๋ก( { } )์ด ์์๋๊ณ ๋๋ ๋๋ง๋ค ๋ค์ฌ ์ฐ๊ธฐ๊ฐ ์ ์ฉ๋์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์์ผ๋ฉฐ ์ฝ๋๋ฅผ ์ฝ๊ฒ ๊ตฌ๋ถํ๊ณ ์ดํดํ๋๋ก ๋์์ฃผ๋ ์ข์ ๊ด๋ก์ด๋ค. ๋ธ๋ก์ด ์ค์ฒฉ๋ ๋๋ง๋ค ๋ค์ฌ ์ฐ๊ธฐ์ ๊น์ด๊ฐ ์ถ๊ฐ๋๋ค.
- ๋ค์ฌ ์ฐ๊ธฐ๋ ๋ณดํต ์คํ์ด์ค 4๋ฒ์ ์ฌ์ฉํ๋ค.
์ฐธ๊ณ ๋ก IntelliJ IDE๋ฅผ ์ฌ์ฉํ๋ฉด ํค๋ณด๋ tab์ ํ๋ฒ ๋๋ฅด๋ฉด ์๋์ผ๋ก ์คํ์ด์ค 4๋ฒ์ ์ ์ฉํ๋ค. - ์ฐธ๊ณ ๋ก ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ํ์ง ์์๋ ํ๋ก๊ทธ๋จ์ ์๋ํ์ง๋ง ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๋ค.
์ถ๊ฐ ์์
HelloJava2
public class HelloJava2 {
public static void main(String[] args) {
System.out.println("hello java1");
System.out.println("hello java2");
System.out.println("hello java3");
}
}
์คํ ๊ฒฐ๊ณผ
hello java1
hello java2
hello java3
ํ๋ก๊ทธ๋จ์ main()์ ์์์ผ๋ก ์์์ ์๋๋ก ํ ์ค์ฉ ์คํ๋๋ค.
์ฃผ์(comment)
์์ค ์ฝ๋๊ฐ ๋ณต์กํ๋ค๋ฉด ์์ค ์ฝ๋์ ๋ํ ์ดํด๋ฅผ ๋๊ธฐ ์ํด ์ค๋ช ์ ์ ์ด๋๊ณ ์ถ์ ์ ์๋ค.
๋๋ ํน์ ์ฝ๋๋ฅผ ์ง์ฐ์ง ์๊ณ , ์ ์ ์คํ์ ๋ง์๋๊ณ ์ถ์ ๋๋ ์๋ค.
์ด๋ด ๋ ์ฃผ์์ ์ฌ์ฉํ๋ฉด ๋๋ค. ์๋ฐ๋ ์ฃผ์์ด ์๋ ๊ณณ์ ๋ฌด์ํ๋ค.
์ฃผ์์ ์ข ๋ฅ
- ํ ์ค ์ฃผ์ (single line comment)
- // ๊ธฐํธ๋ก ์์ํ๋ค. ์ด ๊ธฐํธ ์ดํ์ ๋ชจ๋ ํ ์คํธ๋ ์ฃผ์์ผ๋ก ์ฒ๋ฆฌ๋๋ค.
- ์ฌ๋ฌ ์ค ์ฃผ์ (multi line comment)
- /* ๋ก ์์ํ๊ณ */๋ก ๋๋๋ค. ์ด ์ฌ์ด์ ๋ชจ๋ ํ ์คํธ๋ ์ฃผ์์ผ๋ก ์ฒ๋ฆฌ๋๋ค.
public class CommentJava {
public static void main(String[] args) {
System.out.println("hello java1"); //hello java1์ ์ถ๋ ฅํฉ๋๋ค. (ํ ์ค ์ฃผ์ - ๋ถ๋ถ ์ ์ฉ)
//System.out.println("hello java2"); ํ ์ค ์ฃผ์ - ๋ผ์ธ ์ ์ฒด ์ ์ฉ
/*
System.out.println("hello java3");
System.out.println("hello java4");
*/
}
}
์คํ ๊ฒฐ๊ณผ
hello java1
์ฃผ์์ผ๋ก ์ฒ๋ฆฌํ ์ฝ๋๊ฐ ์คํ๋์ง ์์ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ฃผ์์ ์ฝ๊ฒ ์ด์ผ๊ธฐํด์ ์๋ฐ ํ๋ก๊ทธ๋จ์ด ์ฝ์ง ์๊ณ ๋ฌด์ํ๋ ๋ถ๋ถ์ด๋ค. ์ฌ๋์ด ์ฝ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค.
์๋ฐ๋?
์๋ฐ ํ์ค ์คํ๊ณผ ๊ตฌํ
์๋ฐ๋ ํ์ค ์คํ๊ณผ ๊ตฌํ์ผ๋ก ๋๋ ์ ์๋ค.
- ์๋ฐ ํ์ค ์คํ
- ์๋ฐ๋ ์ด๋ ๊ฒ ๋ง๋ค์ด์ผ ํ๋ค๋ ์ค๊ณ๋์ด๋ฉฐ, ๋ฌธ์์ด๋ค.
- ์ด ํ์ค ์คํ์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฌ ํ์ฌ์์ ์ค์ ์๋ํ๋ ์๋ฐ๋ฅผ ๋ง๋ ๋ค.
- ์๋ฐ ํ์ค ์คํ์ ์๋ฐ ์ปค๋ฎค๋ํฐ ํ๋ก์ธ์ค(JCP)๋ฅผ ํตํด ๊ด๋ฆฌ๋๋ค.
- ๋ค์ํ ์๋ฐ ๊ตฌํ
- ์ฌ๋ฌ ํ์ฌ์์ ์๋ฐ ํ์ค ์คํ์ ๋ง์ถ์ด ์ค์ ์๋ํ๋ ์๋ฐ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ค.
- ๊ฐ๊ฐ ์ฅ๋จ์ ์ด ์๋ค. ์๋ฅผ ๋ค์ด Amazon Corretto๋ AWS์ ์ต์ ํ๋์ด ์๋ค.
- ๊ฐ ํ์ฌ๋ค์ ๋๋ถ๋ถ ์๋์ฐ, MAC, ๋ฆฌ๋ ์ค ๊ฐ์ด ๋ค์ํ OS์์ ์๋ํ๋ ๋ฒ์ ์ ์๋ฐ๋ ํจ๊ป ์ ๊ณตํ๋ค.
โ๏ธ์ฐธ๊ณ
๋ค์ํ ์๋ฐ ๊ตฌํ์ ๋ํด์๋ ๋ค์ ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ !!
https://whichjdk.com/ko
๋ณ๊ฒฝ์ ์ฉ์ด
- ์๋ฐ ๊ตฌํ๋ค์ ๋ชจ๋ ํ์ค ์คํ์ ๋ง๊ฒ ๊ฐ๋ฐ๋์ด ์๋ค. ๋ฐ๋ผ์ ์ค๋ผํด Open JDK๋ฅผ ์ฌ์ฉํ๋ค๊ฐ Amazon Corretto ์๋ฐ๋ก ๋ณ๊ฒฝํด๋ ๋๋ถ๋ถ ๋ฌธ์ ์์ด ๋์ํ๋ค.
โ๏ธ ์ฐธ๊ณ
ํ์ต ๋จ๊ณ์์๋ ์ด๋ค ์๋ฐ๋ฅผ ์ฌ์ฉํ๋ ํฌ๊ฒ ์๊ด์ด ์๋ค.
์ปดํ์ผ๊ณผ ์คํ
์๋ฐ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผ๊ณผ ์คํ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๋ค.
- Hello.java์ ๊ฐ์ ์๋ฐ ์์ค ์ฝ๋๋ฅผ ๊ฐ๋ฐ์๊ฐ ์์ฑํ๋ค.
- ์๋ฐ ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํด์ ์์ค ์ฝ๋๋ฅผ ์ปดํ์ผํ๋ค.
- ์๋ฐ๊ฐ ์ ๊ณตํ๋ javac๋ผ๋ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ค.
- .java → .class ํ์ผ์ด ์์ฑ๋๋ค.
- ์๋ฐ ์์ค ์ฝ๋๋ฅผ ๋ฐ์ดํธ ์ฝ๋๋ก ๋ณํํ๋ฉฐ ์๋ฐ ๊ฐ์ ๋จธ์ ์์ ๋ ๋น ๋ฅด๊ฒ ์คํ๋ ์ ์๊ฒ ์ต์ ํํ๊ณ ๋ฌธ๋ฒ ์ค๋ฅ๋ ๊ฒ์ถํ๋ค.
- ์๋ฐ ํ๋ก๊ทธ๋จ์ ์คํํ๋ค.
- ์๋ฐ๊ฐ ์ ๊ณตํ๋ java๋ผ๋ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ค.
- ์๋ฐ ๊ฐ์ ๋จธ์ (JVM)์ด ์คํ๋๋ฉด์ ํ๋ก๊ทธ๋จ์ด ์๋ํ๋ค.
IDE์ ์๋ฐ
์ธํ ๋ฆฌ์ ์ด๋ฅผ ํตํ ์๋ฐ ์ค์น ๊ด๋ฆฌ
- ์ธํ ๋ฆฌ์ ์ด๋ ๋ด๋ถ์ ์๋ฐ๋ฅผ ํธ๋ฆฌํ๊ฒ ์ค์นํ๊ณ ๊ด๋ฆฌํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์ธํ ๋ฆฌ์ ์ด๋ฅผ ํตํด ์๋ฐ๋ฅผ ํธ๋ฆฌํ๊ฒ ๋ค์ด๋ก๋ํ๊ณ ์คํํ ์ ์๋ค.
โ๏ธ ์ฐธ๊ณ
์๋ฐ๋ฅผ OS์ ์ง์ ์ค์นํด๋ ๋์ง๋ง, ์ฒ์ ํ๋ก๊ทธ๋๋ฐ์ ์์ํ๋ ์ฌ๋์๊ฒ ์ด ๊ณผ์ ์ ๋งค์ฐ ๋ฒ๊ฑฐ๋กญ๊ณ ์๋ฐ๋ฅผ ์ง์ ์ค์นํ๋ ๊ฒฝ์ฐ ํ๊ฒฝ ์ค์ ์ด ๋ณต์กํ๋ค. ๊ทธ๋์ ์๋ฐ๋ฅผ ์ค์นํ๋ค๊ฐ ์ ์๋์ด์ ์์๋ ํ๊ธฐ ์ ์ ํฌ๊ธฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์๋ฐ ์ธ์ด๋ฅผ ๋ฐฐ์ฐ๋ ๋จ๊ณ๋ผ๋ฉด ์ธํ ๋ฆฌ์ ์ด๋ฅผ ํตํด ์๋ฐ๋ฅผ ์ค์นํ๋ ์ ๋๋ฉด ์ถฉ๋ถํ๋ค.
์ธํ ๋ฆฌ์ ์ด๋ฅผ ํตํ ์๋ฐ ์ปดํ์ผ, ์คํ ๊ณผ์
- ์ปดํ์ผ
- ์๋ฐ ์ฝ๋๋ฅผ ์ปดํ์ผํ๋ ค๋ฉด javac๋ผ๋ ํ๋ก๊ทธ๋จ์ ์ง์ ์ฌ์ฉํด์ผ ํ๋๋ฐ, ์ธํ
๋ฆฌ์ ์ด๋ ์๋ฐ ์ฝ๋๋ฅผ ์คํํ ๋ ์ด ๊ณผ์ ์ ์๋์ผ๋ก ์ฒ๋ฆฌํด ์ค๋ค.
- ์) javac Hello.java
- ์ธํ ๋ฆฌ์ ์ด ํ๋ฉด์์ ํ๋ก์ ํธ์ ์๋ out ํด๋์ ๊ฐ๋ณด๋ฉด ์ปดํ์ผ๋ .class ํ์ผ์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
- ์๋ฐ ์ฝ๋๋ฅผ ์ปดํ์ผํ๋ ค๋ฉด javac๋ผ๋ ํ๋ก๊ทธ๋จ์ ์ง์ ์ฌ์ฉํด์ผ ํ๋๋ฐ, ์ธํ
๋ฆฌ์ ์ด๋ ์๋ฐ ์ฝ๋๋ฅผ ์คํํ ๋ ์ด ๊ณผ์ ์ ์๋์ผ๋ก ์ฒ๋ฆฌํด ์ค๋ค.
- ์คํ
- ์๋ฐ๋ฅผ ์คํํ๋ ค๋ฉด java๋ผ๋ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํด์ผ ํ๋ค. ์ด๋ ์ปดํ์ผ๋ .class ํ์ผ์ ์ง์ ํด ์ฃผ๋ฉด ๋๋ค.
- ์) java Hello, ์ฐธ๊ณ ๋ก ํ์ฅ์๋ ์ ์ธํ๋ค.
- ์ธํ ๋ฆฌ์ ์ด์์ ์๋ฐ ์ฝ๋๋ฅผ ์คํํ๋ฉด ์ปดํ์ผ๊ณผ ์คํ์ ๋ชจ๋ ํ ๋ฒ์ ์ฒ๋ฆฌํ๋ค.
- ์ธํ ๋ฆฌ์ ์ด ๋๋ถ์ ๋งค์ฐ ํธ๋ฆฌํ๊ฒ ์๋ฐ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๊ณ , ํ์ตํ ์ ์๋ค.
์๋ฐ์ ์ด์์ฒด์ ๋ ๋ฆฝ์ฑ
์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋จ
- ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ์ด์์ฒด์ ์์ ์คํํ ์ ์๋ค.
- ์๋ฅผ ๋ค์ด์ ์๋์ฐ ํ๋ก๊ทธ๋จ์ MAC์ด๋ ๋ฆฌ๋ ์ค์์ ์๋ํ์ง ์๋๋ค.
- ์๋์ฐ ํ๋ก๊ทธ๋จ์ ์๋์ฐ OS๊ฐ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋ค๋ก ๊ตฌ์ฑ๋์ด ์๊ธฐ ๋๋ฌธ์ ํด๋น ๋ช ๋ น์ด๋ ๋ค๋ฅธ OS์๋ ํธํ๋์ง ์๋๋ค.
์๋ฐ ํ๋ก๊ทธ๋จ
- ์๋ฐ ํ๋ก๊ทธ๋จ์ ์๋ฐ๊ฐ ์ค์น๋ ๋ชจ๋ OS์์ ์คํํ ์ ์๋ค.
- ์๋ฐ ๊ฐ๋ฐ์๋ ํน์ OS์ ๋ง์ถ์ด ๊ฐ๋ฐ์ ํ์ง ์๊ณ ์๋ฐ์ ๋ง์ถ์ด ๊ฐ๋ฐํ๋ฉด ๋๋ค. OS ํธํ์ฑ ๋ฌธ์ ๋ ์๋ฐ๊ฐ ํด๊ฒฐํ๋ค. Hello.class์ ๊ฐ์ด ์ปดํ์ผ๋ ์๋ฐ ํ์ผ์ ๋ชจ๋ ์๋ฐ ํ๊ฒฝ์์ ์คํํ ์ ์๋ค.
- ์๋์ฐ ์๋ฐ๋ ์๋์ฐ OS๊ฐ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋ค๋ก ๊ตฌ์ฑ๋์ด ์๋ค. MAC์ด๋ ๋ฆฌ๋ ์ค ์๋ฐ๋ ๋ณธ์ธ์ OS๊ฐ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋ค๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ๊ฐ๋ฐ์๋ ๊ฐ OS์ ๋ง๋๋ก ์๋ฐ๋ฅผ ์ค์นํ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
์๋ฐ ๊ฐ๋ฐ๊ณผ ์ด์ ํ๊ฒฝ
- ๊ฐ๋ฐํ ๋ ์๋ฐ์ ์๋ฒ์์ ์คํํ ๋ ๋ค๋ฅธ ์๋ฐ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- ๊ฐ๋ฐ์๋ค์ ๊ฐ๋ฐ์ ํธ์๋ฅผ ์ํด์ ์๋์ฐ๋ MAC OS๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
- ์๋ฒ๋ ์ฃผ๋ก ๋ฆฌ๋ ์ค๋ฅผ ์ฌ์ฉํ๋ค. ๋ง์ฝ AWS๋ฅผ ์ฌ์ฉํ๋ค๋ฉด Amazon Corretto ์๋ฐ๋ฅผ AWS ๋ฆฌ๋ ์ค ์๋ฒ์ ์ค์นํ๋ฉด ๋๋ค.
- ์๋ฒ์ ์ด์์ฒด์ ๋ ๋ฆฝ์ฑ ๋๋ถ์ ๊ฐ๊ฐ์ ํ๊ฒฝ์ ๋ง์ถ์ด ์๋ฐ๋ฅผ ์ค์นํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
'๐ Java > ๐ Java ๊ฐ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Java ์ ๋ฌธ ๊ฐ์_์ค์ฝํ, ํ๋ณํ (6) | 2024.11.01 |
---|---|
Java ์ ๋ฌธ ๊ฐ์_๋ฐ๋ณต๋ฌธ (1) | 2024.10.29 |
Java ์ ๋ฌธ ๊ฐ์_์กฐ๊ฑด๋ฌธ (8) | 2024.10.25 |
Java ์ ๋ฌธ ๊ฐ์_์ฐ์ฐ์ (9) | 2024.10.24 |
Java ์ ๋ฌธ ๊ฐ์_๋ณ์ (5) | 2024.10.23 |