๊ด€๋ฆฌ ๋ฉ”๋‰ด

JiYoung Dev ๐Ÿ–ฅ

[์ž๋ฐ”] Java ํŠน์ง• / ํ™˜๊ฒฝ๊ตฌ์ถ• ๋ฐ ์‚ฌ์šฉ๋ฒ• / ๋ณ€์ˆ˜ ๋ณธ๋ฌธ

full stack/JAVA

[์ž๋ฐ”] Java ํŠน์ง• / ํ™˜๊ฒฝ๊ตฌ์ถ• ๋ฐ ์‚ฌ์šฉ๋ฒ• / ๋ณ€์ˆ˜

Shinjio 2023. 2. 16. 20:27

Java Pre-Trainging - 2023.02.16 ํ•™์Šต๋‚ด์šฉ

 

์ฐธ๊ณ ์ž๋ฃŒ

 

์ฝ”๋”ฉ๊ต์œก ํ‹ฐ์”จํ”ผ์Šค์ฟจ

4์ฐจ์‚ฐ์—…ํ˜๋ช…, ์ฝ”๋”ฉ๊ต์œก, ์†Œํ”„ํŠธ์›จ์–ด๊ต์œก, ์ฝ”๋”ฉ๊ธฐ์ดˆ, SW์ฝ”๋”ฉ, ๊ธฐ์ดˆ์ฝ”๋”ฉ๋ถ€ํ„ฐ ์ž๋ฐ” ํŒŒ์ด์ฌ ๋“ฑ

tcpschool.com

 

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(Progranmming Language)

์‚ฌ๋žŒ์˜ ์–ธ์–ด๋ฅผ ๊ธฐ๊ณ„์–ด(์ด์ง„๋ฒ• ๋“ฑ)๋กœ ๋ฒˆ์—ญํ•ด์ฃผ๋Š” ์ค‘๊ฐ„ ๋‹ค๋ฆฌ์˜ ์–ธ์–ด

 

Java

C์–ธ์–ด์— ๊ฐ์ฒด ์ง€ํ–ฅ์  ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋งŒ๋“  C++๊ณผ๋Š” ๋‹ฌ๋ฆฌ, ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๋กœ ๊ฐœ๋ฐœ๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

 

< ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด >

๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด๋ž€, ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์–ธ์–ด์˜ ์ด์นญ์ด๋‹ค. 
๋Œ€ํ‘œ์ ์ธ ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด๋กœ๋Š” ์ถ”์ƒ ๋ฐ์ดํ„ฐํ˜• ํ”„๋กœ๊ทธ๋žจ ์–ธ์–ด์˜ ์‹œ์กฐ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์–ธ์–ด ์‹œ๋ฎฌ๋ผ, ์Šค๋ชฐํ† ํฌ 80 ๋“ฑ์ด ์žˆ๋‹ค. ๋˜ํ•œ ๊ธฐ์กด ์–ธ์–ด์—์„œ ๊ฐ์ฒด ์ง€ํ–ฅ์œผ๋กœ ํ™•์žฅ๋œ ๊ฒƒ์œผ๋กœ C++, ์˜ค๋ธŒ์ ํ‹ฐ๋ธŒ-C, C#, ์ž๋ฐ” ๋“ฑ์ด ์žˆ๋‹ค. 

๊ฐ์ฒด(Object)๋ž€?
์„ธ์ƒ์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“ ๊ฒƒ์„ ์˜๋ฏธํ•จ. ์ฆ‰, ์ฃผ๋ณ€์— ์žˆ๋Š” ์‚ฌ๋ฌผ์ด๋‚˜ ์ƒ๋ช…์ฒด ๊ฐ™์€ ๋ชจ๋“  ๊ฒƒ.
ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ์˜ ๊ฐ์ฒด๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ถ„์‚ฐ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ์™€ ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜๋กœ ๋ฌถ์€ ๊ทธ๋ฃน์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Œ
์˜ˆ๋ฅผ ๋“ค์–ด, ์ปดํ“จํ„ฐ๋Š” ๋ณธ์ฒด, ๋ชจ๋‹ˆํ„ฐ, ๋งˆ์šฐ์Šค, ์Šคํ”ผ์ปค ๋“ฑ๋“ฑ์˜ ๊ตฌ์„ฑ๋“ค์ด ํ•„์š”ํ•จ. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์ด์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์ด ๋ฐ์ดํ„ฐ์ด๋ฉฐ, ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ(๋ณธ์ฒด, ๋ชจ๋‹ˆํ„ฐ, ๋งˆ์šฐ์Šค, ์Šคํ”ผ์ปค ๋“ฑ)์€ ํ™”๋ฉด์ œ๊ณต, ์†Œ๋ฆฌ ์ถœ๋ ฅ, ์ž…๋ ฅ ๋“ฑ ๊ฐ๊ฐ์˜ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ. ๊ฐ์ฒด๋Š” ํด๋ž˜์Šค๋ผ๋Š” ํ‹€์—์„œ ์ƒ๊ฒจ๋‚œ ์‹ค์ฒด(instance)

๋‹ค์‹œ๋งํ•ด ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์ˆ˜์˜ '๊ฐ์ฒด(๊ธฐ๋Šฅ + ๋ฐ์ดํ„ฐ)'๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ์ด๋“ค์ด ์„œ๋กœ ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•ด ๋งŒ๋“œ๋Š” ๋ฐฉ์‹
๋”ฐ๋ผ์„œ ๊ฐ์ฒด์ง€ํ–ฅํ”„๋กœ๊ทธ๋žจ์€ ๊ฐ์ฒด์™€ ๊ฐ์ฒด ๊ฐ„์˜ ์—ฐ๊ฒฐ๋กœ ๋˜์–ด ์žˆ์œผ๋ฉฐ ๊ฐ๊ฐ์˜ ๊ฐ์ฒด ์•ˆ์— ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋“ค์–ด ์žˆ์Œ. ๊ทธ ๊ฒฐ๊ณผ ๊ฐ์ฒด์ง€ํ–ฅ๋ชจ๋ธ๋ง์€ ๊ธฐ๋Šฅ์ด ์•„๋‹Œ ๊ฐ์ฒด๊ฐ€ ์ค‘์‹ฌ์ด ๋˜๋ฉฐ "๋ˆ„๊ฐ€ ์–ด๋–ค ์—ญํ• ์„ ํ•  ๊ฒƒ์ธ๊ฐ€?"๊ฐ€ ํ•ต์‹ฌ์ด ๋จ. ์ฆ‰, ๊ฐ์ฒด๋ฅผ ๋„์ถœํ•˜๊ณ  ๊ฐ๊ฐ์˜ ์—ญํ• ์„ ์ •์˜ํ•ด ๋‚˜๊ฐ€๋Š” ๊ฒƒ์— ์ดˆ์ ์„ ๋งž์ถค

์ฐธ๊ณ ์ž๋ฃŒ : 
http://www.incodom.kr/%EA%B0%9D%EC%B2%B4_%EC%A7%80%ED%96%A5

 

์—ญ์‚ฌ

 

๊ฐ€์ „์ œํ’ˆ ๋‚ด์—์„œ ๋™์ž‘ํ•˜๋Š” ์ž„๋ฒ ๋””๋“œ ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•œ ์–ธ์–ด๋กœ ์ฌ ๋งˆ์ดํฌ๋กœ์‹œ์Šคํ…œ์ฆˆ(Sun Microsystems)์‚ฌ์˜ ์ œ์ž„์Šค ๊ณ ์Šฌ๋ง(James Gosling) ํŒ€์— ์˜ํ•ด ๊ฐœ๋ฐœ. 2009๋…„ ์ฌ ๋งˆ์ดํฌ๋กœ์‹œ์Šคํ…œ์ฆˆ์‚ฌ๊ฐ€ ์˜ค๋ผํด๊ณผ ์ธ์ˆ˜ ํ•ฉ๋ณ‘๋จ์— ๋”ฐ๋ผ ์ž๋ฐ” ๋˜ํ•œ ์˜ค๋ผํด๋กœ ์†Œ์œ ๊ถŒ์ด ๋„˜์–ด๊ฐ

 

Java ํŠน์ง•

 

์žฅ์ 

 

- ์ด์‹์„ฑ์ด ๋†’์€ ์–ธ์–ด

์ž๋ฐ”๋Š” ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ (JVM, Java Virtual Machine)์„ ์‚ฌ์šฉํ•˜์—ฌ, ์šด์˜์ฒด์ œ์™€๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์Œ

์ฆ‰, ์—ฌ๋Ÿฌ ์šด์˜์ฒด์ œ์—์„œ ๋™์ผํ•˜๊ฒŒ ์‹คํ–‰๋จ

 

์ž๋ฐ”๋กœ ์ž‘์„ฑํ•œ ํŒŒ์ผ(*.java)๋Š” ์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ(javac.exe)๋ฅผ ๊ฑฐ์ณ ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฐ” ๋ฐ”์ดํŠธ ์ฝ”๋“œ(*.class)๋กœ ๋ณ€ํ™˜. ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ์€ ์ด๋Ÿฌํ•œ ์ž๋ฐ” ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๊ฐ€์ƒ์˜ ๊ธฐ๊ณ„๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Œ. ์ž๋ฐ”๋กœ ์ž‘์„ฑ๋œ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์€ ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ๋งŒ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•จ. ์ด ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹  ๋•์— ์„œ๋กœ ๋‹ค๋ฅธ ์šด์˜์ฒด์ œ๋ผ๋„ ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ๋งŒ ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๋ฉด, ๊ฐ™์€ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด ์•„๋ฌด๋Ÿฐ ์ถ”๊ฐ€ ์กฐ์น˜ ์—†์ด ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์Œ. ๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ์ž๋Š” ํ•œ ๋ฒˆ๋งŒ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ฉด, ๋ชจ๋“  ์šด์˜์ฒด์ œ์—์„œ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ์Œ. ๊ทธ๋Ÿฌ๋‚˜ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์€ ์ผ๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ๋ณด๋‹ค ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ์ด๋ผ๋Š” ํ•œ ๋‹จ๊ณ„๋ฅผ ๋” ๊ฑฐ์ณ์•ผ ํ•˜๋ฏ€๋กœ, ์ƒ๋Œ€์ ์œผ๋กœ ์‹คํ–‰ ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Œ

 

- ๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๊ณผ๊ฐํžˆ ์ œ๊ฑฐํ•˜์—ฌ ๋‹ค๋ฅธ ์–ธ์–ด์— ๋น„ํ•ด ๋ฐฐ์šฐ๊ธฐ ์‰ฌ์›€

 

- ์ž๋™ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋“ฑ์„ ์ง€์›ํ•˜์—ฌ ๋‹ค๋ฅธ ์–ธ์–ด์— ๋น„ํ•ด ์•ˆ์ •์„ฑ์ด ๋†’์Œ

 

- ์—ฐ์‚ฐ์ž ์˜ค๋ฒ„๋กœ๋”ฉ์„ ๊ธˆ์ง€ํ•˜๊ณ  ์ œ๋„ค๋ฆญ์„ ๋„์ž…ํ•จ์œผ๋กœ์จ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์ž„

์—ฐ์‚ฐ์ž ์˜ค๋ฒ„๋กœ๋”ฉ(operator overloading)
์—ฐ์‚ฐ์ž๋ฅผ ์žฌ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ๋” ํ•˜๋Š” ๊ฒƒ

์ œ๋„ค๋ฆญ(generic)
๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์„ ์ผ๋ฐ˜ํ™”ํ•˜๋Š” ๊ฒƒ. ์ฆ‰, ๋ฐ์ดํ„ฐ ํ˜•์‹์— ์˜์กดํ•˜์ง€ ์•Š๊ณ , ํ•˜๋‚˜์˜ ๊ฐ’์ด ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ํƒ€์ž…๋“ค์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•

 

- ๊ฐ์ฒด์น˜ํ–ฅ์–ธ์–ด(Object-Oriented Language, OOL)

๊ฐ๊ฐ์˜ ๊ธฐ๋Šฅ์ด ๊ฐ์ฒด๋กœ ๋งŒ๋“ค์–ด์ ธ ์žˆ์–ด ์œ ์ง€๋ณด์ˆ˜์— ์šฉ์ด

 

- ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

Java๋กœ ๊ฐœ๋ฐœ๋œ ์ฝ”๋“œ๋ฅผ ์„œ๋กœ ๊ณต์œ ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ์ˆ˜๋งŽ์€ ์ฐธ๊ณ  ์ž๋ฃŒ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ

 

๋‹จ์ 

 

- ์ž๋ฐ”๋Š” ์‹คํ–‰์„ ์œ„ํ•ด ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ์„ ๊ฑฐ์ณ์•ผ ํ•˜๋ฏ€๋กœ, ๋‹ค๋ฅธ ์–ธ์–ด์— ๋น„ํ•ด ์‹คํ–‰ ์†๋„๊ฐ€ ๋Š๋ฆผ

- ์ž๋ฐ”๋Š” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ฐ€ ์ž˜ ๋˜์–ด ์žˆ์ง€๋งŒ, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ผ์ผ์ด ์ฒ˜๋ฆฌ๋ฅผ ์ง€์ •ํ•ด ์ค˜์•ผ ํ•œ๋‹ค๋Š” ๋ถˆํŽธํ•จ์ด ์žˆ์Œ

- ์ž๋ฐ”๋Š” ๋‹ค๋ฅธ ์–ธ์–ด์— ๋น„ํ•ด ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š” ์ฝ”๋“œ์˜ ๊ธธ์ด๊ฐ€ ๊ธด ํŽธ

์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ

์‹คํ–‰

 

1. ์ƒˆ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ

 

File - New - Project

 

Java Project ์„ ํƒ

 

Project name ์ž‘์„ฑ

 

2. ํด๋ž˜์Šค ์ƒ์„ฑ

 

ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์˜ src ์„ ํƒ

 

new - class ์„ ํƒ

 

name ์ž‘์„ฑ, public static void main(String[] args) ์„ ํƒ

 

์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์€ ํ•œ ๊ฐœ ์ด์ƒ์˜ ํด๋ž˜์Šค(class)๋กœ ๊ตฌ์„ฑ๋จ. ์ด๋Ÿฌํ•œ ํด๋ž˜์Šค๋Š” ํ•œ ๊ฐœ ์ด์ƒ์˜ ํ•„๋“œ(field)๋‚˜ ๋ฉ”์†Œ๋“œ(method)๋กœ ๊ตฌ์„ฑ๋จ

 

ํ•„๋“œ์™€ ๋ฉ”์†Œ๋“œ๋Š” ํด๋ž˜์Šค์˜ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ํด๋ž˜์Šค๋Š” ์ƒ์„ฑ๋  ๊ฐ์ฒด์˜ ์ •๋ณด์™€ ๋™์ž‘์„ ํ•„๋“œ์™€ ๋ฉ”์†Œ๋“œ ์˜์—ญ์— ์ •์˜

ํด๋ž˜์Šค๋ž€ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ์ ์ธ ํ‹€์ด๊ณ , ๊ฐ์ฒด๋Š” ์‹ค์ œ๋กœ ์ด ํ‹€์„ ์ด์šฉํ•ด ๋งŒ๋“ค์–ด๋‚ธ ๊ฒฐ๊ณผ๋ฌผ์„ ๋งํ•จ. ์ปดํ“จํ„ฐ์ ์ธ ์‹œ๊ฐ์—์„œ ๋ณด๋ฉด ๊ฐ์ฒด๋Š” ํด๋ž˜์Šค์—์„œ ์ •์˜ํ•œ ๊ฒƒ์„ ํ† ๋Œ€๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹น๋œ ๊ฒƒ

 

์ด๋Ÿฌํ•œ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •์„ ์ธ์Šคํ„ด์Šคํ™”(Instantiate)๋ผ๊ณ  ํ•˜๋ฉฐ, ์–ด๋–ค ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๋งŒ๋“ค์–ด์ง„ ๊ฐ์ฒด๋ฅผ ํ•ด๋‹น ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค(Instance)๋ผ๊ณ  ํ•จ

 

- ํด๋ž˜์Šค : ์–ด๋– ํ•œ ๊ฐ์ฒด์˜ ๋ณ€์ˆ˜, ๋งค์†Œ๋“œ์˜ ์ง‘ํ•ฉ

- ํ•„๋“œ : ๊ฐ์ฒด์˜ ์ •๋ณด(์ƒํƒœ) / ํด๋ž˜์Šค ๋‚ด์— ์ •์˜๋œ ๋ณ€์ˆ˜

- ๋ฉ”์†Œ๋“œ : ๊ฐ์ฒด์˜ ๋™์ž‘(๊ธฐ๋Šฅ)

 

class ํด๋ž˜์Šค ์ด๋ฆ„ {
  ํ•„๋“œ์˜ ์„ ์–ธ
  ํ•„๋“œ์˜ ์„ ์–ธ
  ...
  ๋ฉ”์†Œ๋“œ์˜ ์„ ์–ธ
  ๋ฉ”์†Œ๋“œ์˜ ์„ ์–ธ
  ...
}

์˜ˆ.

class Test {
  int field1;
  String field2;

  public void method1() {
    System.out.println("์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ");
  }
}

 

์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋ฉด ๋งจ ๋จผ์ € main() ๋ฉ”์†Œ๋“œ๋ฅผ ์ฐพ์•„ ๊ทธ ์•ˆ์— ๋ชจ๋“  ๋ช…๋ น๋ฌธ์„ ์ฐจ๋ก€๋Œ€๋กœ ์‹คํ–‰

๋”ฐ๋ผ์„œ ํ•˜๋‚˜์˜ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์—๋Š” main() ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€์ง€๋Š” ํด๋ž˜์Šค๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜๋Š” ์กด์žฌํ•ด์•ผ ํ•จ

์ž๋ฐ” ํด๋ž˜์Šค ํŒŒ์ผ(*.java)์— public ํด๋ž˜์Šค(class)๊ฐ€ ์กด์žฌํ•˜๋ฉด ์†Œ์Šค ํŒŒ์ผ์˜ ์ด๋ฆ„์€ ๋ฐ˜๋“œ์‹œ ํ•ด๋‹น public ํด๋ž˜์Šค์˜ ์ด๋ฆ„๊ณผ ๊ฐ™์•„์•ผ ํ•จ. ์ด๋Ÿฌํ•œ public ํด๋ž˜์Šค๋Š” ์ž๋ฐ” ํด๋ž˜์Šค ํŒŒ์ผ๋งˆ๋‹ค ๋‹จ ํ•œ๊ฐœ๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ

 

 

main() ๋ฉ”์†Œ๋“œ ์•„๋ž˜ ๋ช…๋ น๋ฌธ ์ž‘์„ฑ

 

๋ช…๋ น๋ฌธ(statement)

๋ช…๋ น๋ฌธ์ด๋ž€ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์˜ ๋™์ž‘์„ ๋ช…์‹œํ•˜๊ณ , ์ด๋Ÿฌํ•œ ๋™์ž‘์„ ์ปดํ“จํ„ฐ์— ์•Œ๋ ค์ฃผ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ฌธ์žฅ์œผ๋กœ ์ž๋ฐ”์˜ ๋ชจ๋“  ๋ช…๋ น๋ฌธ์€ ๋ฐ˜๋“œ์‹œ ์„ธ๋ฏธ์ฝœ๋ก (;)์œผ๋กœ ๋๋‚˜์•ผ ํ•จ

 

์ฃผ์„(comment)

์ฃผ์„์ด๋ž€ ์ฝ”๋“œ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋•๋Š” ์„ค๋ช…์„ ์ ๊ฑฐ๋‚˜ ๋””๋ฒ„๊น…์„ ์œ„ํ•ด ์ž‘์„ฑํ•˜๋Š” ์ผ์ข…์˜ ๋ฉ”๋ชจ

์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ฃผ์„์€ ๋ฌด์‹œํ•˜๊ณ  ์ปดํŒŒ์ผํ•˜๋ฏ€๋กœ, ์‹ค์ œ ์‹คํ–‰ ๊ฒฐ๊ณผ์—๋Š” ์•„๋ฌด๋Ÿฐ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Œ

 

1. // ํ•œ ์ค„ ์ฃผ์„
2. /* ์—ฌ๋Ÿฌ
        ์ค„
        ์ฃผ์„ */

 

System.out.println() ์ž๋ฐ” ํ‘œ์ค€ ์ž…์ถœ๋ ฅ ํด๋ž˜์Šค

์‚ฌ์šฉ์ž๊ฐ€ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‚ฌ์šฉ์ž์™€ ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์— ์ž…์ถœ๋ ฅ์„ ๋‹ด๋‹นํ•˜๋Š” ์ˆ˜๋‹จ์ด ํ•„์š”

์ž๋ฐ”์—์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ์ฒด๋กœ ํ‘œํ˜„๋˜๋ฏ€๋กœ, ์ž…์ถœ๋ ฅ์„ ๋‹ด๋‹นํ•˜๋Š” ์ˆ˜๋‹จ ๋˜ํ•œ ๋ชจ๋‘ ๊ฐ์ฒด 

์ž๋ฐ”์—์„œ๋Š” System์„ ํ‘œ์ค€ ์ž…์ถœ๋ ฅ ํด๋ž˜์Šค๋กœ ์ •์˜ํ•˜๊ณ  ์‚ฌ์šฉ

 

System.in     ํ‘œ์ค€ ์ž…๋ ฅ ์ž‘์—…

System.out   ํ‘œ์ค€ ์ถœ๋ ฅ ์ž‘์—…

System.error

 

System.out.println() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋‹ˆํ„ฐ์— ์ „๋‹ฌ๋œ ๋ฐ์ดํ„ฐ () ์•ˆ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•œ ํ›„์— ์ค„๋ฐ”๊ฟˆ๊นŒ์ง€ ํ•ด์คŒ

println() ๋ฉ”์†Œ๋“œ์™€ ๋‹ฌ๋ฆฌ print() ๋ฉ”์†Œ๋“œ๋Š” ์ค„ ๋ฐ”๊ฟˆ์„ ํ•˜์ง€ ์•Š์Œ

 

๋ณ€์ˆ˜(variable)

 

๋ณ€์ˆ˜ : ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„

๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ = ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๊ฒƒ

 

์ž๋ฃŒํ˜• ๋ณ€์ˆ˜๋ช… = ๊ฐ’;

 

๋ณ€์ˆ˜๋ช… ๊ทœ์น™

1. ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ : Java์—์„œ ์ด๋ฏธ ์ง€์ •ํ•˜๊ณ  ์žˆ๋Š” ํ‚ค์›Œ๋“œ๋“ค (for, new, switch ๋“ฑ)

2.  ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„๋˜๋ฉฐ ๊ธธ์ด์— ์ œํ•œ์ด ์—†๋‹ค. 

3. ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๋‹ค. 

4. ํŠน์ˆ˜๋ฌธ์ž๋Š” '_'์™€ '$'๋งŒ ํ—ˆ์šฉํ•œ๋‹ค. 

5. ๋ณ€์ˆ˜์˜ ์ด๋ฆ„ ์‚ฌ์ด์—๋Š” ๊ณต๋ฐฑ์„ ํฌํ•จํ•  ์ˆ˜ ์—†์Œ

 

๋ณ€์ˆ˜์˜ ์ข…๋ฅ˜

1. ๊ธฐ๋ณธํ˜•(Primitive type) ๋ณ€์ˆ˜ - ์‹ค์ œ ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋˜๋Š” ๋ณ€์ˆ˜

2. ์ฐธ์กฐํ˜•(reference type) ๋ณ€์ˆ˜

 

๊ธฐ๋ณธํ˜• ๋ณ€์ˆ˜ 8๊ฐ€์ง€

- ๋…ผ๋ฆฌํ˜• : boolean (true, false) 

- ๋ฌธ์žํ˜• : char ('a', '์ด' ๋“ฑ)

- ์ •์ˆ˜ํ˜• : byte, short, int, long (1, 14, -27 ๋“ฑ)

- ์‹ค์ˆ˜ํ˜• : float, double (3.14, 1.5์™€ ๊ฐ™์ด ์†Œ์ˆ˜์ž๋ฆฌ๋ฅผ ํฌํ•จํ•œ ๊ฐ’)

 

 

๋ณ€์ˆ˜ ์„ ์–ธ

์ž๋ฐ”์—์„œ๋Š” ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋ฐ˜๋“œ์‹œ ๋จผ์ € ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ์ดˆ๊ธฐํ™”ํ•ด์•ผ ํ•จ

 

< ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐฉ๋ฒ• >

1. ๋ณ€์ˆ˜์˜ ์„ ์–ธ๋งŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•
int num; 

2. ๋ณ€์ˆ˜์˜ ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•
int num = 20;

 

๊ฐ ์ž๋ฃŒํ˜• ๋ณ€์ˆ˜ ์„ ์–ธ

 

1๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž๋กœ ๊ตฌ์„ฑ๋œ ๊ฒƒ์€ ๋ฌธ์ž์—ด(๋ ˆํผ๋Ÿฐ์Šคํ˜•)์œผ๋กœ String์„ ์‚ฌ์šฉํ•˜๊ณ  ํฐ ๋”ฐ์˜ดํ‘œ ์‚ฌ์šฉ("")