[Java] Java์™€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€?
ยท
โ˜•Java/๐Ÿ“Java Programming
1. Java ์–ธ์–ด์˜ ๊ธฐ์›์ž๋ฐ” ์–ธ์–ด๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ์€ Sun Microsystems์˜ ์ œ์ž„์Šค ๊ณ ์Šฌ๋ง ๋ฐ•์‚ฌ์ด๋ฉฐ, 1990๋…„ Sun ํšŒ์‚ฌ๋‚ด ์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰์„ ํ–ˆ์—ˆ๊ณ  ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์˜ ์ด๋ฆ„์€ "๊ทธ๋ฆฐ ํ”„๋กœ์ ํŠธ"๋ผ๊ณ  ๋ถˆ๋ ธ๋‹ค. ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋Š” ์†Œ๋น„์ž์šฉ ์ „์ œ์žํ’ˆ์˜ ์ œ์–ด๋ฐ•์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ ํ”„๋กœ์ ํŠธ์ด๋‹ค. ๊ทธ๋ž˜์„œ ํ•˜๋“œ์›จ์–ด ํ”Œ๋žซํผ๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๊ฐ€ ํ•„์š”ํ–ˆ๊ณ  C++ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์„ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ Oak๋ผ๋Š” ์–ธ์–ด๋ฅผ ์ž์ฒด์ ์œผ๋กœ ๊ฐœ๋ฐœํ•ด์„œ ์‚ฌ์šฉ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ . ์ด Oak์–ธ์–ด๊ฐ€ ๋‚˜์ค‘์— Java๊ฐ€ ๋œ๋‹ค. (1) 1995๋…„ Oak๋ผ๋Š” ์ด๋ฆ„์„ ์ƒํ‘œ ๋“ฑ๋กํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ด์œ ๋กœ ์–ธ์–ด์˜ ์ด๋ฆ„์„ Java๋กœ ๋ฐ”๊พธ๊ณ  Java์˜ ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ๋ฒ„์ „์„ ๋ฐœํ‘œํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ ๋‹น์‹œ ํฐ ์ธ๊ธฐ๋ฅผ ๋Œ์ง€๋Š” ๋ชปํ–ˆ๋˜ ์–ธ์–ด์˜€๋‹ค. (2) ..
[Java] ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”์— ๋Œ€ํ•œ ์ดํ•ด
ยท
โ˜•Java/๐Ÿ“Java Programming
๋ฌธ๋“ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”์— ๋Œ€ํ•ด์„œ ์˜๋ฌธ์„ ํ’ˆ๊ฒŒ ๋˜์—ˆ์—ˆ๋‹ค. (1) ๋ฌธ์ œ ๋ฐœ์ƒimport java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int f = scanner.nextInt(); int len = Integer.toString(n).length(); String result = ""; // ์˜๋ฌธ์„ ๊ฐ–๊ฒŒ ๋œ ๋ถ€๋ถ„ String text = ""; // ์˜๋ฌธ์„ ๊ฐ–๊ฒŒ ๋œ ๋ถ€๋ถ„ for(int..
[Java] Annotation ์ด๋ž€? ( ์• ๋…ธํ…Œ์ด์…˜ )
ยท
โ˜•Java/๐Ÿ“Java Programming
(1) Annotation(์• ๋…ธํ…Œ์ด์…˜) ์ด๋ž€?1. Annotation ์ด๋ž€?- ๋ฒˆ์—ญ๊ธฐ๋ฅผ ํ†ตํ•ด ๋ณ€์—ญ์„ ํ•ด๋ณด๋ฉด Annotation์€ "์ฃผ์„"์ด๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๋œปํ•œ๋‹ค. 2. Java ์—์„œ Annotation์ด๋ž€?- Java์—์„œ Annotation์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ฝ”๋“œ์— ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์“ฐ์ธ๋‹ค.- ์• ๋„ˆํ…Œ์ด์…˜์€ ํด๋ž˜์Šค, ๋ฉ”์„œ๋“œ, ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜ ๋“ฑ ๋‹ค์–‘ํ•œ ์š”์†Œ์— ๋Œ€ํ•œ ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ์ •๋ณด๋ฅผ ์ปดํŒŒ์ผ๋Ÿฌ๋‚˜ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ด ๋œ๋‹ค. 3. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ž€?- ์ฝ”๋“œ์— ๋ถ€๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ผ๊ณ  ํ•œ๋‹ค.- ์ฝ”๋“œ์— ๋ถ€๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด์„  ์• ๋„ˆํ…Œ์ด์…˜์„ ๋ถ™ํžˆ๊ฒŒ ๋˜๋Š”๋ฐ ์• ๋„ˆํ…Œ์ด์…˜์ด ์ฆ‰, ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์ด๋‹ค.์˜ˆ์‹œ๋ฅผ ๋“ค๋ฉด, ๋„์„œ๊ด€์˜ ์ฑ…์ด ์žˆ๊ณ , ํ•ด๋‹น ์ฑ…์€ ๋ฐ์ด..
[Java] JVM ๋™์ž‘ ์›๋ฆฌ
ยท
โ˜•Java/๐Ÿ“Java Programming
IDE๋Š” ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ๋ช…๋ น์–ด๋“ค์„ ๋Œ€์‹  ์ž…๋ ฅ์„ ํ•ด์ฃผ์–ด ๋ช…๋ น์–ด๋ฅผ ๋ชฐ๋ผ๋„ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ์ด๋Ÿฌํ•œ ์ถ”์ƒํ™” ๋•๋ถ„์— ํŽธ๋ฆฌํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ์ง€์‹ ์—†์ด ์ž๋ฐ”๋ฅผ ๊ณต๋ถ€ํ•œ๋‹ค๋ฉด ๊ณต๋ถ€์˜ ํšจ์œจ์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. JVM(Java Virtual Machine) ๋™์ž‘ ์›๋ฆฌJVM์€ "java ClassName" ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์‹คํ–‰์„ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ClassName์€ ๋ฐ˜๋“œ์‹œ main ๋ฉ”์„œ๋“œ๊ฐ€ ๋“ค์–ด์žˆ๋Š” ์ฃผ ํด๋ž˜์Šค์—ฌ์•ผ ํ•œ๋‹ค. JVM์ด ์‹คํ–‰์ด ๋œ ํ›„ JVM์˜ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํด๋ž˜์Šค ๋กœ๋”๊ฐ€ ํ•„์š”ํ•œ ํด๋ž˜์Šค ํŒŒ์ผ์ธ java.lang ํŒจํ‚ค์ง€์˜ ํด๋ž˜์Šค ํŒŒ์ผ๋“ค์„ ๋จผ์ € ๋กœ๋“œ ํ•ด์ค€๋‹ค. ์ดํ›„, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํด๋ž˜์Šค ๋กœ๋”๊ฐ€ main ๋ฉ”์„œ๋“œ ์ฃผ ํด๋ž˜์Šค๋ฅผ ๋กœ๋“œ๋ฅผ ํ•ด์ฃผ๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์ด ๋‹ค ๋๋‚˜๋ฉด, JVM์€ main ๋ฉ”..
[Java] ํด๋ž˜์Šค์™€ ๊ฐ์ฒด์˜ ์ •์˜
ยท
โ˜•Java/๐Ÿ“Java Programming
(1) ํด๋ž˜์Šค์™€ ๊ฐ์ฒด ๋ถ•์–ด๋นตํ‹€? ๋ถ•์–ด๋นต?ํด๋ž˜์Šค์™€ ๊ฐ์ฒด๋ฅผ ์„ค๋ช…ํ•  ๋•Œ ๋ถ•์–ด๋นตํ‹€๊ณผ ๋ถ•์–ด๋นต์œผ๋กœ ์ฃผ๋กœ ์˜ˆ์‹œ๋ฅผ ๋“ ๋‹ค. ํ•ด๋‹น ์˜ˆ์‹œ๋Š” ์†”์งํžˆ ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ์ž…์žฅ์—์„œ๋Š” ์ „ํ˜€ ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ์ดํ•ด๋ฅผ ํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€๋Š” ์•Š์„ ๊ฒƒ์ด๋‹ค. ์˜ˆ์‹œ๋ฅผ ๋“  ์ดํ•ด๋ณด๋‹ค๋Š” ์ •ํ™•ํ•œ ์ดํ•ด๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๊ธฐ์„œ ์˜ˆ์‹œ๋Š” ์ƒ๋žตํ•œ๋‹ค. (2) ํด๋ž˜์Šค์™€ ๊ฐ์ฒด๋ž€?ํด๋ž˜์Šค๋ž€?์ž๋ฐ” ์–ธ์–ด๋ฅผ ํ™œ์šฉํ•ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค ๋ณด๋ฉด, ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ํŒŒ์ผ์ด ํ•„์š”ํ•˜๋‹ค. ํ•ด๋‹น ํŒŒ์ผ ๋‚ด๋ถ€์— class ํ‚ค์›Œ๋“œ๊ฐ€ ๋ถ™์œผ๋ฉด ํ•ด๋‹น ํŒŒ์ผ์€ ์ž๋ฐ” ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ž˜์Šค ํŒŒ์ผ์ด ๋œ๋‹ค. ์ด๊ฒƒ์ด ํด๋ž˜์Šค์ด๋‹ค. ๊ฐ์ฒด๋ž€?์ž๋ฐ”์—์„œ๋Š” new ํ‚ค์›Œ๋“œ๋ฅผ ์ด์šฉํ•ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Ÿฐํƒ€์ž„์— ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ๋™์ผํ•œ ๊ฐ์ฒด๋“ค์„ ์—ฌ๋Ÿฟ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ฆ‰, ๊ฐ์ฒด๋Š” ํด๋ž˜์Šค์˜ ์ •๋ณด๋ฅผ ํ† ๋Œ€๋กœ ๋™์ ์œผ๋กœ ๋งŒ๋“ค์–ด..
[Java] ์ƒ์† ( Extends )
ยท
โ˜•Java/๐Ÿ“Java Programming
ํ™•์žฅ(Extends) == ์ƒ์†(Inheritance)์ž๋ฐ”์—์„œ ํ™•์žฅ(์ƒ์†)์€ ํด๋ž˜์Šค์™€ ํด๋ž˜์Šค๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ ์ƒ์†์€ ๋ถ€๋ชจ ํด๋ž˜์Šค๊ฐ€ ์ž์‹ํด๋ž˜์Šค์—๊ฒŒ ๋ฉ”์„œ๋“œ๋‚˜ ํ•„๋“œ๋ฅผ๋ฌผ๋ ค ์ฃผ๋Š”๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ( ์ƒ์†์„ ํ•˜๋Š” ์ชฝ์˜ ํด๋ž˜์Šค๋ฅผ ๋ถ€๋ชจํด๋ž˜์Šค, ์ƒ์†์„ ๋ฐ›๋Š” ํด๋ž˜์Šค๋ฅผ ์ž์‹ํด๋ž˜์Šค๋ผ๊ณ  ๋งํ•œ๋‹ค. ) ์ž๋ฐ”์—์„œ ์ƒ์†๋ณด๋‹ค๋Š” ํ™•์žฅ์ด๋ผ๋Š” ํ‘œํ˜„์„ ํ•˜๋Š” ๊ฒƒ์ด ๋” ์˜ฌ๋ฐ”๋ฅธ ํ‘œํ˜„์ด๋‹ค.์ด์œ ๋Š” ๋ถ€๋ชจํด๋ž˜์Šค๊ฐ€ ์ง„์งœ ๋ถ€๋ชจ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ฐ์ฒด ํด๋ž˜์Šค ์ž์‹ํด๋ž˜์Šค๊ฐ€ ์ง„์งœ ์ž์‹์œผ๋กœ ๋งŒ๋“  ๊ฐ์ฒด ํด๋ž˜์Šค๋กœ ๊ฐ€์ •์„ ํ•ด๋ณด์ž๋ถ€๋ชจ์˜ ์—ญํ• ์„ ์ƒ์†๋ฐ›๋Š”๋‹ค๊ณ  ์ž์‹ํด๋ž˜์Šค๊ฐ€ ๋ถ€๋ชจ๊ฐ€ ๋  ์ˆœ ์—†๋‹ค. ์ด ๋ง์€ ์ƒ์†์ด๋ผ๋Š” ๊ฒƒ์€ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ํ‘œํ˜„์ด๋ฉฐ, ํ™•์žฅ์ด๋ผ๋Š” ํ‘œํ˜„์ด ์˜ฌ๋ฐ”๋ฅธ ํ‘œํ˜„์ด ๋œ๋‹ค. ํ™•์žฅ์€ ๋ถ€๋ชจํด๋ž˜์Šค์—๊ฒŒ ๋ฐ›์€ ๊ฒƒ๋“ค์„ ์ž์‹ํด๋ž˜์Šค์—์„œ ํ™•์žฅํ•˜์—ฌ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.  # ์ƒ์†์„ ์•Œ๊ธฐ์— ..
[Java] ์˜ˆ์™ธ ( Exception )
ยท
โ˜•Java/๐Ÿ“Java Programming
๋ชฉ์ฐจ   โ—  1. Error & Exception.    โ—  2. ์˜ˆ์™ธ(Exception)    โ—  3. ์˜ˆ์™ธ์ฒ˜๋ฆฌ(1) try & catch    โ—  4. ์˜ˆ์™ธ์ฒ˜๋ฆฌ(2) try & catch    โ—  5. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ catch๋ฌธ ์œ ์šฉํ•œ ๋ฉ”์„œ๋“œ    โ—  6. ์˜ˆ์™ธ ์ข…๋ฅ˜( CheckedException & UnCheckedException )    โ—  7. final๊ตฌ๋ฌธ   โ—  8. throws๊ตฌ๋ฌธ  1. Error & Exception์ž๋ฐ”์—์„œ๋Š” ๋ฌธ์ œ๋ฅผ ํฌ๊ฒŒ Error, Exception ๋‘ ๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„์„ ํ•œ๋‹ค. 1. Error๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ( ๋ฉ”๋ชจ๋ฆฌ, ์šด์˜์ฒด์ œ, ํ•˜๋“œ์›จ์–ด, ์™ธ๋ถ€์ ์ธ ์š”์ธ์œผ๋กœ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ )์ฆ‰, ์ž‘์—…์„ ํ•˜๋Š” ํ™˜๊ฒฝ์˜ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฉฐ ..