Back-End/Java

μžλ°”μ˜ 정석 1μž₯: μžλ°”λ₯Ό μ‹œμž‘ν•˜κΈ° 전에

μ±”πŸ» 2024. 1. 23. 17:21
1️⃣

[ 좜처 ]
μžλ°”μ˜ 정석:
https://product.kyobobook.co.kr/detail/S000001550352
μžλ°”μ˜ 정석 유튜브:
https://www.youtube.com/playlist?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp

1. μžλ°”(Java Promgramming Language)

1-1 μžλ°”λž€?

  • ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄(promgraming language)
  • 컴퓨터 ν”„λ‘œκ·Έλž¨(μ• ν”Œλ¦¬μΌ€μ΄μ…˜)을 λ§Œλ“œλŠ”λ° μ‚¬μš©
  • μ‹€ν–‰ν™˜κ²½(JRE) + κ°œλ°œλ„κ΅¬(JDK) + 라이브러리(API) : ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•˜λŠ”λ° ν•„μš”ν•œ κΈ°λŠ₯듀을 미리 λ§Œλ“€μ–΄ 놓은 것
  • 쉽고 λΉ λ₯΄κ²Œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개발 κ°€λŠ₯

1-2 μžλ°”μ˜ 역사

SE β†’ 일반적인 μžλ°”

ME β†’ λͺ¨λ°”일, μ†Œν˜•κΈ°κΈ°

EE β†’ λŒ€κΈ°μ—…

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

  • 배우기 μ‰¬μš΄ 객체지ν–₯ μ–Έμ–΄
  • μžλ™ λ©”λͺ¨λ¦¬ 관리(GCκ°€ μ•Œμ•„μ„œ μ •λ¦¬ν•΄μ€Œ)
  • λ©€ν‹° μ“°λ ˆλ“œλ₯Ό 지원
  • ν’λΆ€ν•œ 라이브둜리둜 μ‰½κ²Œ κ°œλ°œκ°€λŠ₯

1-4 JVM(Java Virtual Machine)

  • μžλ°” ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰λ˜λŠ” 가상 컴퓨터(VM)
  • ν•œ 번 μž‘μ„±ν•˜λ©΄, μ–΄λ””μ„œλ“  μ‹€ν–‰(Write once, run anywhere)
μ• ν”Œλ¦¬μΌ€μ΄μ…˜(Windows용)
OS(Windows)
컴퓨터(ν•˜λ“œμ›¨μ–΄)
μ• ν”Œλ¦¬μΌ€μ΄μ…˜(Windows용) β†’ μ‚¬μš©λΆˆκ°€
OS(Macintosh)
컴퓨터(ν•˜λ“œμ›¨μ–΄)

1-5 Java API λ¬Έμ„œμ˜ μ„€μΉ˜

  • Java APIλž€?

    java둜 ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“œλŠ”λ° ν•„μš”ν•œ μ£Όμš” κΈ°λŠ₯을 미리 λ§Œλ“€μ–΄μ„œ 제곡

  • Java API λ¬Έμ„œλž€?

    Java APIκ°€ μ œκ³΅ν•˜λŠ” κΈ°λŠ₯에 λŒ€ν•œ μƒμ„Έν•œ 정보 제곡(html 파일)

  • Java API λ¬Έμ„œμ˜ μ„€μΉ˜

    www.oracle.comμ—μ„œ μ••μΆ•νŒŒμΌμ„ λ‹€μš΄λ°›μ•„μ„œ μ••μΆ•ν•΄μ œ

2. μžλ°”κ°œλ°œν™˜κ²½ κ΅¬μΆ•ν•˜κΈ°

2-1 μžλ°” κ°œλ°œλ„κ΅¬(JDK) μ„€μΉ˜ν•˜κΈ°

  • javac.exe : μžλ°” 컴파일러. μ‚¬λžŒμ΄ μž‘μ„±ν•œ λ¬Έμž₯을 κΈ°κ³„μ–΄λ‘œ λ²ˆμ—­ / μ†ŒμŠ€ 파일(.java)을 클래슀 파일(.class)둜 λ³€ν™˜
    c:\jdk1.8\work>javac Hello.java
  • java.exe : μžλ°” 인터프리터. μžλ°” ν”„λ‘œκ·Έλž¨(클래슀 파일)을 μ‹€ν–‰
    c:\jdk1.8\work>java Hello
  • javap.exe : μ—­μ–΄μ…ˆλΈ”λŸ¬, 컴파일된 ν΄λž˜μŠ€νŒŒμΌμ„ μ›λž˜μ˜ μ†ŒμŠ€λ‘œ λ³€ν™˜ν•œλ‹€.
    c:\jdk1.8\work>javap Hello > Hello.java

3. μžλ°”λ‘œ ν”„λ‘œκ·Έλž¨ μž‘μ„±ν•˜κΈ°

3-1 Hello.java

class Hello {
		public static void main(String[] args) {
				System.out.print("Hello, world"); // 화면에 κΈ€μžλ₯Ό 좜λ ₯ν•œλ‹€.
		}
}

Hello.java μž‘μ„± ---> javac.exe(컴파일) ---> Hello.class 생성 ---> java.exe(μ‹€ν–‰) ---> "Hello, world." 좜λ ₯

이 예제λ₯Ό μ‹€ν–‰ν•˜λ €λ©΄, λ¨Όμ € μžλ°” 컴파일러(java.exe)λ₯Ό μ‚¬μš©ν•΄μ„œ μ†ŒμŠ€νŒŒμΌ(Hello.java)λ‘œλΆ€ν„° 클래슀 파일(Hello.class)을 생성해야 ν•œλ‹€. κ·Έ λ‹€μŒμ— μžλ°” 인터프리터(java.exe)둜 μ‹€ν–‰ν•œλ‹€.

3-1 자주 λ°œμƒν•˜λŠ” μ—λŸ¬μ™€ 해결방법

πŸ’‘
<μ—λŸ¬ μ°ΎλŠ” 법>
  1. μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό 잘 읽고 ν•΄λ‹Ή λΆ€λΆ„μ˜ μ½”λ“œλ₯Ό μ‚΄νŽ΄λ³Έλ‹€.
    이상이 μ—†μœΌλ©΄ ν•΄λ‹Ή μ½”λ“œμ˜ μ£Όμœ„(μœ—μ€„κ³Ό μ•„λž˜ 쀄)도 ν•¨κ»˜ μ‚΄νŽ΄λ³Έλ‹€.
  1. κ·Έλž˜λ„ 이상이 μ—†μœΌλ©΄ μ—λŸ¬ λ©”μ‹œμ§€λŠ” μžŠμ–΄λ²„λ¦¬κ³  기본적인 뢀뢄을 μž¬ν™•μΈν•œλ‹€.
  1. μ˜μ‹¬μ΄ κ°€λŠ” 뢀뢄을 μ£Όμ„μ²˜λ¦¬ν•˜κ±°λ‚˜ λ”°λ‘œ λ–Όμ–΄λ‚΄μ„œ ν…ŒμŠ€νŠΈν•œλ‹€.

Uploaded by N2T