πŸ‘¨‍πŸ’» Web Development/Java

[Day1] Java 1 - μžλ°” νŠΉμ§• 및 ꡬ쑰

Kim_dev 2022. 8. 22. 20:08

[Day1] Java 1 [8/8]

 

1.  μžλ°”μ˜ νŠΉμ§•

1)     운영체제 독립적

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

3)     배우기 쉽닀

4)     μžλ™λ©”λͺ¨λ¦¬ 관리(Garbage Collection = GC)

5)     λ„€νŠΈμ›Œν¬μ™€ λΆ„μ‚°μ²˜λ¦¬ 지원

6)     λ©€ν‹°μ“°λ ˆλ“œ 지원

7)     λ™μ λ‘œλ”©(Dynamic Loading) 지원

8)

JVM (Java Virtual Machine) μžλ°” 가상 λ¨Έμ‹ 

JDK (Java Development Kit) : μžλ°”μ–Έμ–΄λ₯Ό μ‚¬μš©ν•΄μ„œ κ°œλ°œν•  λ•Œ ν•„μš”ν•œ μžλ°” 개발 도ꡬ

JRE (java runtime environment) : μžλ°” μ‹€ν–‰ ν™˜κ²½

 

JDK = JRE(μžλ°”μ‹€ν–‰ν™˜κ²½) + μ‹€ν–‰νŒŒμΌ(bin 폴더 μ•ˆ javac.exe, java.exe λ“±)

JRE = JVM + Java API (클래슀 라이브러리)

 

 

2.  μžλ°”μ˜ μ„ μ–Έ

1)   μžλ°”λŠ” [객체 지ν–₯적 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄]이기 λ•Œλ¬Έμ— λ°˜λ“œμ‹œ 클래슀 ν•˜λ‚˜ μ„ μ–Έν•΄μ•Ό λœλ‹€. 
2)   μžλ°”μ—μ„œ 클래슀 μ„ μ–Έ ν˜•μ‹ [ μƒλž΅ κ°€λŠ₯ ]

// Public   static   class      Sample
[μ ‘κ·Όμ§€μ •μž] [κΈ°νƒ€μ œμ–΄μž] classν‚€μ›Œλ“œ   클래슀λͺ…{
         // ν•˜λ‚˜μ˜ main() ν•¨μˆ˜ μ„ μ–Έ
}


3)   μ„ μ–Έλœ 클래슀 :  μ‹œμž‘ 물건( 객체, 개체 )
4)   μ‹œμž‘ κ°œμ²΄(μ„ μ–Έλœ ν΄λž˜μŠ€) μ•ˆμ—λŠ” ν”„λ‘œκ·Έλž¨μ„ μ‹œμž‘ν•˜λ €λ©΄ λ°˜λ“œμ‹œ ν•˜λ‚˜μ˜ main() ν•¨μˆ˜(λ©”μ„œλ“œ)λ₯Ό μ„ μ–Έν•΄μ•Ό λœλ‹€. 
5)   μžλ°”μ—μ„œ ν•¨μˆ˜λ₯Ό μ„ μ–Έ ν˜•μ‹ ( μ•”κΈ° )

// Public    static      void    main (     String [] args       )
[μ ‘κ·Όμ§€μ •μž] ] [κΈ°νƒ€μ œμ–΄μž]  λ¦¬ν„΄μžλ£Œν˜•  ν•¨μˆ˜λͺ… (  [인자, λ§€κ°œλ³€μˆ˜, νŒŒλΌλ―Έν„° …]  ){
        // ν•¨μˆ˜ λ‚΄μš©
}

 

3. μžλ°” ν”„λ‘œκ·Έλž¨ κΈ°λ³Έ ꡬ쑰

1) 객체 지ν–₯적 ν”„λ‘œκ·Έλž˜λ° 언어이기에 λ°˜λ“œμ‹œ ν•˜λ‚˜μ˜ μ‹œμž‘ κ°œμ²΄κ°€ ν•„μš”ν•˜λ‹€.

       == 클래슀 ν•˜λ‚˜ μ„ μ–Έ

2) μ‹œμž‘ κ°œμ²΄λŠ” λ°˜λ“œμ‹œ ν•˜λ‚˜μ˜ main()ν•¨μˆ˜λ₯Ό 가지고 μžˆλ‹€. 

3) 클래슀λͺ…은 λ°˜λ“œμ‹œ λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•œλ‹€.

4) 클래슀λͺ… == 파일λͺ….java

5) ν™•μž₯자   == .java

 

4.  기타

1) ν‚€μ›Œλ“œ(μ˜ˆμ•½μ–΄)     : μ˜λ―Έκ°€ λΆ€μ—¬λœ μ˜ˆμ•½μ–΄

    μ‹λ³„μž(identifier) : κ°œλ°œμžκ°€ λΆ€μ—¬ν•œ 이름

2) ν•¨μˆ˜μ˜ 3가지 쑰건

     - μ—­ν• (κΈ°λŠ₯, 일)

     - λ§€κ°œλ³€μˆ˜

     - λ°˜ν™˜(리턴)κ°’

3) μžλ°” 컴파일러 : javac.exe