Basic

  • 컴퓨터 μ‘μš©ν”„λ‘œκ·Έλž˜λ° : μ΅œμœ€μ • κ΅μˆ˜λ‹˜

  • '이것이 μžλ°”λ‹€'

  • 각쒅 λΈ”λ‘œκ·Έ

    을 μ°Έμ‘°ν•΄ κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κ²ƒμž…λ‹ˆλ‹€.

μžλ°”μ— λŒ€ν•΄μ„œ

νŠΉμ§•

  1. 이식성이 높은 μ–Έμ–΄

  2. 객체 지ν–₯ μ–Έμ–΄

  3. ν•¨μˆ˜μ  μŠ€νƒ€μΌ μ½”λ”© 지원( λŒ€μš©λŸ‰ λ°μ΄ν„°μ˜ 병렬 처리, 이벀트 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ— 적합)

  4. λ©”λͺ¨λ¦¬λ₯Ό μžλ™μœΌλ‘œ 관리

  5. λ‹€μ–‘ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개발 κ°€λŠ₯

  6. λ©€νŠΈ μŠ€λ ˆλ“œλ₯Ό μ‰½κ²Œ κ΅¬ν˜„

  7. 동적 λ‘œλ”©(Dynamic Loading) 지원 : 객체가 ν•„μš”ν•œ μ‹œμ μ— 클래슀λ₯Ό 동적 λ‘œλ”©ν•΄μ„œ 객체λ₯Ό 생성

  8. λ§‰κ°•ν•œ μ˜€ν”ˆμ†ŒμŠ€ 라이브러리

JVM(μžλ°” 가상 기계)

JVM은 μ‹€ 운영체제λ₯Ό λŒ€μ‹ ν•΄μ„œ μžλ°” ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜λŠ” κ°€μƒμ˜ 운영체제 역할을 ν•œλ‹€. μš΄μ˜μ²΄μ œμ™€ μžλ°” ν”„λ‘œκ·Έλž¨μ„ μ€‘κ³„ν•˜λŠ” JVM을 두어 μžλ°” ν”„λ‘œκ·Έλž¨μ΄ μ—¬λŸ¬ μš΄μ˜μ²΄μ œμ—μ„œ λ™μΌν•œ κ²°κ³Όκ°€ λ‚˜μ˜€λ„λ‘ μ„€κ³„ν•œ 것이닀. 즉, κ°œλ°œμžλŠ” μš΄μ˜μ²΄μ œμ™€ 상관없이 μžλ°” ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•  수 μžˆλ‹€.

javaλŠ” JVM에 μ˜ν•΄ κΈ°κ³„μ–΄λ‘œ λ²ˆμ—­λ˜κ³  μ‹€ν–‰λ˜κΈ° λ•Œλ¬Έμ—, C, C++의 컴파일 λ‹¨κ³„μ—μ„œ λ§Œλ“€μ–΄μ§€λŠ” μ™„μ „ν•œ κΈ°κ³„μ–΄λ³΄λ‹€λŠ” 속도가 λŠλ¦¬λ‹€λŠ” 단점을 가지고 μžˆλ‹€.(κ²©μ°¨λŠ” 점점 쀄어듀고 있음.)

κ°œλ°œν™˜κ²½

  • JRE(Java Runtime Environment) = JVM + ν‘œμ€€ 클래슀 라이브러리

  • JDE(Java Development Kit) = JRE + κ°œλ°œμ— ν•„μš”ν•œ 도ꡬ

μžλ°” ν”„λ‘œκ·Έλž¨ 개발 μˆœμ„œ

.javaμ†ŒμŠ€ 파일 μž‘μ„± β†’ 컴파일러(javac.exe)둜 λ°”μ΄νŠΈ μ½”λ“œ 파일(.class)생성 β†’ JVM ꡬ동 λͺ…λ Ήμ–΄(java.exe)둜 μ‹€ν–‰

ν”„λ‘œκ·Έλž¨ μ†ŒμŠ€ 뢄석

  • 클래슀 : ν•„λ“œ λ˜λŠ” λ©”μ†Œλ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 블둝

  • λ©”μ†Œλ“œ : μ–΄λ–€ 일을 μ²˜λ¦¬ν•˜λŠ” 싀행문듀을 λͺ¨μ•„ 놓은 블둝

public class Hello{
    public static void main(String[] args){
        System.out.println("Hello World!");
    }
}

주석과 μ‹€ν–‰λ¬Έ

// 행주석
/*
λ²”μœ„ 주석
μ—¬λŸ¬μ€„ 주석
*/

ν‚€λ³΄λ“œ μž…λ ₯λ°›κΈ°

int keyCode = System.in.read();

μ΄λ•Œ, System.in.read()λ©”μ†Œλ“œλŠ” ν•˜λ‚˜μ˜ ν‚€ μ½”λ“œλ§Œ 읽기 λ•Œλ¬Έμ— μ½˜μ†”μ— μž…λ ₯된 λ¬Έμžμ—΄μ„ ν•œ λ²ˆμ— 읽을 수 μ—†λ‹€. λŒ€μ‹  Scanner객체λ₯Ό μƒμ„±ν•œ ν›„ nextLine()λ©”μ†Œλ“œλ₯Ό ν˜ΈμΆœν•˜λ©΄ μ½˜μ†”μ— μž…λ ₯된 λ¬Έμžμ—΄μ„ ν•œ λ²ˆμ— 읽을 수 μžˆλ‹€.

Scanner scanner = new Scanner(System.in);
String inputString = scanner.nextLine();

Last updated