Search
Duplicate
πŸ˜€

01. JDK, JRE, Java Project의 ꡬ쑰

νƒœκ·Έ

JDK, Eclipse μ„€μΉ˜

Java Platform

SE (Standard Edition)Β 
β€’
JDK만 μ„€μΉ˜
β€’
Java Application, JDBC
β€’
JVM μ•ˆμ—μ„œλ§Œ μ‹€ν–‰λ˜λŠ” ꡬ쑰둜 μ„œλ²„ μ‚¬μ΄λ“œκ°€ λ°˜λ“œμ‹œ ν•„μš”ν•œ μŠ€νŽ™
β€’
Local Machineμ—μ„œλ§Œ μ‚¬μš©ν•  λ•Œ ν•„μš”!
EE (Enterprise Edition)Β 
β€’
JDK μ„€μΉ˜ +Β μ„œλ²„
β€’
Web Program (Servlet, JSP), Spring Framework
β€’
JVM 이외에 μ„œλ²„(WAS)μ—μ„œ λŒμ•„κ°€λŠ” ꡬ쑰둜 μ›Ήμ„œλ²„λ₯Ό ν•„μš”λ‘œ ν•˜λŠ” μŠ€νŽ™ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄λ“œμ™€ μ„œλ²„ μ‚¬μ΄λ“œλ‘œ λ‚˜λ‰œλ‹€

JDK, JRE, JVM

JVMΒ 
β€’
(Java Virtual Machine, μžλ°” 가상 λ¨Έμ‹ )
β€’
μžλ°”λ‘œ 쓰여진 μ• ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό νŠΉμ • OS 쀑간에 μ‘΄μž¬ν•˜μ—¬ μ„œλ‘œλ₯Ό λΆ„λ¦¬ν•¨μœΌλ‘œμ¨ App이 OS에 영ν–₯을 받지 μ•Šκ³  λ™μž‘ν•˜λŠ” ν™˜κ²½μ„ 제곡
β€’
μžλ°” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ‹€ν–‰λ˜κΈ° μœ„ν•΄μ„œλŠ” λ°˜λ“œμ‹œ JVM이 ν•„μš”ν•˜λ‹€.
β€’
JVM은 μžλ°” μ†ŒμŠ€μ½”λ“œλ‘œλΆ€ν„° λ§Œλ“€μ–΄μ§€λŠ” μžλ°” λ°”μ΄λ„ˆλ¦¬ 파일(.class)을 μ‹€ν–‰ν•  수 μžˆλ‹€.
JDKΒ 
β€’
(Java Development Kit, μžλ°” 개발 도ꡬ)
β€’
JDKλŠ” JRE + κ°œλ°œμ„ μœ„ν•΄ ν•„μš”ν•œ 도ꡬ(javac, javaλ“±)듀을 ν¬ν•¨ν•œλ‹€.
JREΒ 
β€’
(Java Runtime Environment, μžλ°” μ‹€ν–‰ ν™˜κ²½)
β€’
미리 λ§Œλ“€μ–΄μ§„ 라이브러리λ₯Ό 묢어놓은 ν™˜κ²½ (API)
β€’
JREλŠ” JVM 이 μžλ°” ν”„λ‘œκ·Έλž¨μ„ λ™μž‘μ‹œν‚¬ λ•Œ ν•„μš”ν•œ 라이브러리 νŒŒμΌλ“€κ³Ό 기타 νŒŒμΌλ“€μ„ 가지고 μžˆλ‹€. JREλŠ” JVM의 μ‹€ν–‰ν™˜κ²½μ„ κ΅¬ν˜„ν–ˆλ‹€κ³  ν•  수 μžˆλ‹€.

Java API

β€’
ν”„λ‘œκ·Έλž˜λ¨Έκ°€ ν•„μš”λ‘œ ν•˜λŠ” 기본적인 ν΄λž˜μŠ€λ“€μ„ 라이브러리둜 미리 λ§Œλ“€μ–΄μ„œ 제곡
β€’
미리 μ œκ³΅λ˜λŠ” 클래슀λ₯Ό ν‘œμ€€ 클래슀라고 함
rt.jarΒ Β 
β€’
.class 파일둜 된 API
β€’
C:\Program Files\Java\jdk1.8.0_251\jre\libC:\Program Files\Java\jre1.8.0_251\lib
src.zipΒ 
β€’
 .java 파일둜 된 API
β€’
C:\Program Files\Java\jdk1.8.0_251
.classΒ : κΈ°κ³„μ–΄λ‘œ 된 μ‹€ν–‰ 파일
.javaΒ : μ›μ‹œ μ†ŒμŠ€ μ½”λ“œ 파일

Eclipse, Java ν”„λ‘œμ νŠΈ

β€» 곡톡 λͺ…λͺ… κ·œμΉ™
β€’
λŒ€μ†Œλ¬Έμž ꡬ뢄이 됨
β€’
μ˜ˆμ•½μ–΄(μ‹œμŠ€ν…œμ—μ„œ 이미 μ‚¬μš©ν•˜κ³  μžˆλŠ” 이름)λ₯Ό μ‚¬μš©ν•˜λ©΄ μ•ˆλ¨
β€’
숫자둜 μ‹œμž‘ν•  수 μ—†μŒ
β€’
νŠΉμˆ˜λ¬ΈμžλŠ” '_'(언더바), '$'만 μ‚¬μš©κ°€λŠ₯

WorkSpace

β€’
ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨ λ‹¨μœ„
β€’
규λͺ¨κ°€ 큰(κΈ°λŠ₯이 λ§Žμ€) ν”„λ‘œκ·Έλž¨μ€ μ—¬λŸ¬ μ‹€ν–‰νŒŒμΌ(ν”„λ‘œμ νŠΈ)둜 μ΄λ£¨μ–΄μ§ˆ 수 있음
β€’
κ°€μž₯ μƒμœ„ ν΄λ”λ‘œ 생성됨

Project

β€’
ν•˜λ‚˜μ˜ μ‹€ν–‰νŒŒμΌ λ‹¨μœ„
β€’
ν•˜λ‚˜μ˜ μ‹€ν–‰ νŒŒμΌμ„ μƒμ„±ν•˜κΈ° μœ„ν•œ λ‹¨μœ„λΌκ³  ν•  수 있음
β€’
μ›Œν¬μŠ€νŽ˜μ΄μŠ€μ˜ ν•˜μœ„ ν΄λ”λ‘œ 생성됨
β€» ν”„λ‘œμ νŠΈ λͺ…λͺ…(이름) κ·œμΉ™
- λŒ€μ†Œλ¬Έμž ꡬ뢄 없이 μ‹œμž‘ κ°€λŠ₯
- 첫 문자λ₯Ό λΉ„λ‘―ν•΄ λͺ¨λ“  λ‹¨μ–΄λŠ” λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜λŠ” 것을 ꢌμž₯

Package

β€’
클래슀λ₯Ό κΈ°λŠ₯λ³„λ‘œ λ¬Άμ–΄λ‘” μΌμ’…μ˜ μΉ΄ν…Œκ³ λ¦¬
β€’
ν•˜λ‚˜μ˜ νŒ¨ν‚€μ§€λ§Œ λ§Œλ“€ μˆ˜λ„ 있고 "μƒμœ„ νŒ¨ν‚€μ§€.ν•˜μœ„νŒ¨ν‚€μ§€" ν˜•νƒœλ‘œ 트리 ꡬ쑰λ₯Ό λ§Œλ“€ 수 있음
β€’
μƒμœ„ νŒ¨ν‚€μ§€ 폴더 μ•„λž˜ ν•˜μœ„ νŒ¨ν‚€μ§€ 폴더가 생성됨
β€’
μ†ŒμŠ€μ½”λ“œλ₯Ό μ €μž₯ν•˜λŠ” ".java"파일의 νŒ¨ν‚€μ§€λŠ” ν”„λ‘œμ νŠΈ 폴더 μ•„λž˜ "src"폴더에 μ €μž₯됨
β€’
.javaνŒŒμΌμ„ μ»΄νŒŒμΌν•΄μ„œ μƒμ„±λœ ".class"파일의 νŒ¨ν‚€μ§€λŠ” ν”„λ‘œμ νŠΈ 폴더 μ•„λž˜ "bin"폴더에 μ €μž₯됨
β€» νŒ¨ν‚€μ§€ λͺ…λͺ…(이름) κ·œμΉ™
- 단어 갯수 상관없이 μ†Œλ¬Έμžλ‘œ μ‹œμž‘
- λͺ¨λ‘ μ†Œλ¬Έμžλ‘œ μ‚¬μš©ν•˜λŠ” 것을 ꢌμž₯ (가독성을 μœ„ν•΄μ„œλŠ” μœ„λ°˜ν•΄λ„ 됨)
- 가급적 ν•œ 단어 μ‚¬μš©μ„ ꢌμž₯ (μƒμœ„ νŒ¨ν‚€μ§€ ν•œλ‹¨μ–΄, ν•˜μœ„ νŒ¨ν‚€μ§€ ν•œλ‹¨μ–΄μ”©)
- μ—¬λŸ¬ μ‚¬λžŒ λ˜λŠ” κΈ°μ—…κ³Ό ν˜‘μ—…ν•  경우 ν‘œμ€€ νŒ¨ν„΄μ„ 따름 (개인용으둜 μ“Έ λ•ŒλŠ” 무의미)
- ν‘œμ€€νŒ¨ν„΄ : com.νšŒμ‚¬μ΄λ¦„(λ˜λŠ” κ°œμΈμ΄λ¦„).ν”„λ‘œμ νŠΈλͺ….μƒμœ„νŒ¨ν‚€μ§€.ν•˜μœ„νŒ¨ν‚€μ§€.클래슀

Class

β€’
λΉ„μŠ·ν•œ μœ ν˜•μ˜ λ©”μ†Œλ“œ(ν•¨μˆ˜)와 λ³€μˆ˜λ₯Ό λͺ¨μ•„놓은 μ†ŒμŠ€μ½”λ“œ
β€’
μ‹€μ œλ‘œ μž‘μ„±λœ κ°€μž₯ ν•˜μœ„μ˜ μ†ŒμŠ€μ½”λ“œ 파일
β€’
이클립슀 에디터에 μž‘μ„±ν•˜λŠ” 코딩은 ν•˜λ‚˜μ˜ 클래슀λ₯Ό μƒμ„±ν•˜λŠ” μž‘μ—…μž„
β€’
ν΄λž˜μŠ€κ°€ μ†ν•œ λ§ˆμ§€λ§‰ νŒ¨ν‚€μ§€μ˜ 폴더에 μ €μž₯됨
β€’
클래슀의 파일λͺ…은 클래슀의 이름과 동일해야 함
β€» 클래슀 λͺ…λͺ…(이름) κ·œμΉ™
β€’
λŒ€λ¬Έμžλ‘œ μ‹œμž‘
β€’
λͺ…μ‚¬λ‘œ μ‹œμž‘
β€’
두 번째 λ‹¨μ–΄λΆ€ν„°λŠ” μ†Œλ¬Έμžλ„ λ˜μ§€λ§Œ λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜λŠ” 것을 ꢌμž₯

Method

β€’
ν΄λž˜μŠ€μ— μ •μ˜ λ˜μ–΄ μžˆλŠ” ν•¨μˆ˜
β€’
ν•˜λ‚˜μ˜ ν΄λž˜μŠ€μ—μ„œ λ‹€λ₯Έ 클래슀의 ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•  λ•Œ μ‹€μ œλ‘œ 이 λ©”μ†Œλ“œλ₯Ό μ‹€ν–‰ν•˜λŠ” 것
β€’
νŒ¨ν‚€μ§€A.νŒ¨ν‚€μ§€B.클래슀C.λ©”μ†Œλ“œ(arguments)의 ν˜•νƒœλ‘œ λΆˆλŸ¬μ™€μ„œ 싀행함
β€» λ§€μ†Œλ“œ λͺ…λͺ…(이름) κ·œμΉ™
- μ†Œλ¬Έμžλ‘œ μ‹œμž‘
- λ™μ‚¬λ‘œ μ‹œμž‘
- 두 번째 λ‹¨μ–΄λΆ€ν„°λŠ” μ†Œλ¬Έμžλ„ λ˜μ§€λ§Œ λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜λŠ” 것을 ꢌμž₯