๐ŸŒป JAVA/์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ

๐ŸŒป JAVA/์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ

JAVA - STUDY 10์ฃผ์ฐจ ๊ณผ์ œ : ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๋ชฉํ‘œ ์ž๋ฐ”์˜ ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์„ธ์š”. ํ•™์Šตํ•  ๊ฒƒ (ํ•„์ˆ˜) Thread ํด๋ž˜์Šค์™€ Runnable ์ธํ„ฐํŽ˜์ด์Šค ์“ฐ๋ ˆ๋“œ์˜ ์ƒํƒœ ์“ฐ๋ ˆ๋“œ์˜ ์šฐ์„ ์ˆœ์œ„ Main ์“ฐ๋ ˆ๋“œ ๋™๊ธฐํ™” ๋ฐ๋“œ๋ฝ ๋งˆ๊ฐ์ผ์‹œ 2021๋…„ 1์›” 23์ผ ํ† ์š”์ผ ์˜คํ›„ 1์‹œ๊นŒ์ง€. Thread ํด๋ž˜์Šค์™€ Runnable ์ธํ„ฐํŽ˜์ด์Šค Thread ๋ž€? ๋™์‹œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—๋Š” ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ๋‘ ๊ฐ€์ง€ ๊ธฐ๋ณธ ์‹คํ–‰ ๋‹จ์œ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ๋™์‹œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋Œ€๋ถ€๋ถ„ ์Šค๋ ˆ๋“œ์™€ ๊ด€๋ จ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค ํ”„๋กœ์„ธ์Šค์—๋Š” ์™„์ „ํ•œ ๊ฐœ์ธ์šฉ ๊ธฐ๋ณธ ๋Ÿฐํƒ€์ž„ ๋ฆฌ์†Œ์Šค ์ง‘ํ•ฉ์ด ์žˆ๊ณ  ์ž์ฒด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„๋„ ์žˆ์Šต๋‹ˆ๋‹ค. JAVA ๊ฐ€์ƒ ๋จธ์‹ ์˜ ๋Œ€๋ถ€๋ถ„์˜ ๊ตฌํ˜„์€ ๋‹จ์ผ ํ”„๋กœ์„ธ์Šค๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์Šค๋ ˆ๋“œ ์Šค๋ ˆ๋“œ๋Š” ๊ฒฝ๋Ÿ‰ ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ ๋ชจ๋‘ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ œ..

๐ŸŒป JAVA/์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ

JAVA - STUDY 9์ฃผ์ฐจ ๊ณผ์ œ : ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

๋ชฉํ‘œ ์ž๋ฐ”์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์„ธ์š”. ํ•™์Šตํ•  ๊ฒƒ (ํ•„์ˆ˜) Exception๊ณผ Error์˜ ์ฐจ์ด๋Š”? ์ž๋ฐ”๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์˜ˆ์™ธ ๊ณ„์ธต ๊ตฌ์กฐ RuntimeException๊ณผ RE๊ฐ€ ์•„๋‹Œ ๊ฒƒ์˜ ์ฐจ์ด๋Š”? ์ž๋ฐ”์—์„œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• (try, catch, throw, throws, finally) ์ปค์Šคํ…€ํ•œ ์˜ˆ์™ธ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• Exception๊ณผ Error์˜ ์ฐจ์ด๋Š” ? java.lang.Object -> Throwable -> Exception, Error Error : JVM์— ๋ฌธ์ œ (OutOfMemoryError, StackOverFlowError ์™€ ๊ฐ™์ด ๋ฐœ์ƒ ์‹œ ๋ณต๊ตฌํ•  ์ˆ˜ ์—†๋Š” ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜) ๊ฐ€ ์ƒ๊ธด ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ปดํŒŒ์ผ ์—๋Ÿฌ : ์ปดํŒŒ์ผ ์‹œ์ ์— ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ์ด๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ฌธ๋ฒ• ๊ฒ€์‚ฌ๋ฅผ ํ†ตํ•ด ์—๋Ÿฌ๋ฅผ ์žก์•„์ฃผ๊ธฐ ๋•Œ..

๐ŸŒป JAVA/์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ

JAVA - ๋ฉ”์†Œ๋“œ ์‹œ๊ทธ๋‹ˆ์ฒ˜(method Signature)

์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋ฉ”์†Œ๋“œ์˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค. ๋ฉ”์†Œ๋“œ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ž€ ? ๋ฉ”์†Œ๋“œ์˜ ์ด๋ฆ„๊ณผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ฉ”์†Œ๋“œ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ผ๊ณ  ํ•œ๋‹ค. ๋ฉ”์†Œ๋“œ์˜ ๋ฆฌํ„ด ํƒ€์ž…์€ ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค. ์•„๋ž˜์˜ ์ฝ”๋“œ๋Š” method1 ์ด๋ผ๋Š” ์ด๋ฆ„์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์˜ค๋ฒ„๋กœ๋”ฉํ•œ ์ฝ”๋“œ๋“ค์ด๋‹ค. public void method1() { } public void method1(int a) { } public void method1(String s) { } public void method1(int a, int b) { } public int method1(int a, int b) { // compile error! } ๋ฆฌํ„ด ํƒ€์ž…์ด ๋‹ฌ๋ผ๋„, ์ด๋ฏธ ๊ฐ™์€ ์‹œ๊ทธ๋‹ˆ์ฒ˜์˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋‚˜๊ฒŒ ๋œ๋‹ค.

๐ŸŒป JAVA/์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ

JAVA - STUDY 8์ฃผ์ฐจ ๊ณผ์ œ : ์ธํ„ฐํŽ˜์ด์Šค

๋ชฉํ‘œ ์ž๋ฐ”์˜ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์„ธ์š”. ํ•™์Šตํ•  ๊ฒƒ (ํ•„์ˆ˜) ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ธํ„ฐํŽ˜์ด์Šค ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์† ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ธฐ๋ณธ ๋ฉ”์†Œ๋“œ (Default Method), ์ž๋ฐ” 8 ์ธํ„ฐํŽ˜์ด์Šค์˜ static ๋ฉ”์†Œ๋“œ, ์ž๋ฐ” 8 ์ธํ„ฐํŽ˜์ด์Šค์˜ private ๋ฉ”์†Œ๋“œ, ์ž๋ฐ” 9 ์ถ”์ƒ ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ฐจ์ด์  ์ถ”์ƒ ํด๋ž˜์Šค(abstract class) ์ธํ„ฐํŽ˜์ด์Šค(interface) 1. ์ผ๋ฐ˜ ๋ฉ”์†Œ๋“œ ํฌํ•จ๊ฐ€๋Šฅ 1. ๋ชจ๋“  ๋ฉ”์„œ๋“œ๋Š” ์ถ”์ƒ๋ฉ”์„œ๋“œ ์ž๋ฐ” 8 ์ดํ›„ ๋ถ€ํ„ฐ default ,static ๋ฉ”์†Œ๋“œ ์ถ”๊ฐ€๊ฐ€๋Šฅ 2. ๋‹ค์ค‘์ƒ์† ๋ถˆ๊ฐ€๋Šฅ 2. ๋‹ค์ค‘์ƒ์† ๊ฐ€๋Šฅ 3. ์ƒ์ˆ˜, ๋ณ€์ˆ˜ ํ•„๋“œ ํฌํ•จ๊ฐ€๋Šฅ 3. ์ƒ์ˆ˜ํ•„๋“œ๋งŒ ํฌํ•จ๊ฐ€๋Šฅ ์ถ”์ƒ ํด๋ž˜์Šค๋Š” IS - A ์ด๋‹ค. ( ๊ฐœ๋Š” ๋™๋ฌผ์ด๋‹ค. ..

๐ŸŒป JAVA/์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ

Mac์—์„œ JDK - ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •ํ•˜๊ธฐ

JDK ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • echo $PATH javac -version java -version ์ž๋ฐ” ๊ฒฝ๋กœ ํ™•์ธ cd /Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home .bash_profile ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • vi ~/.bash_profile vi๋ฅผ ์ด์šฉํ•˜์—ฌ bash_profile ํŽธ์ง‘ ํ™”๋ฉด์œผ๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋˜๊ณ , ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•ด ์ค๋‹ˆ๋‹ค. export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home\ export PATH=${PATH}:$JAVA_HOME/bin: i ๋ฅผ ๋ˆ„๋ฅด๋ฉด INSERT ๋ชจ๋“œ๊ฐ€ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ„์— ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•ด์ค€ ๋‹ค์Œ, esc ๋ฅผ ๋ˆ„๋ฅด๋ฉด ..

๐ŸŒป JAVA/์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ

JAVA - STUDY 7์ฃผ์ฐจ ๊ณผ์ œ : ํŒจํ‚ค์ง€

๋ชฉํ‘œ ์ž๋ฐ”์˜ ํŒจํ‚ค์ง€์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์„ธ์š”. ํ•™์Šตํ•  ๊ฒƒ (ํ•„์ˆ˜) package ํ‚ค์›Œ๋“œ import ํ‚ค์›Œ๋“œ ํด๋ž˜์ŠคํŒจ์Šค CLASSPATH ํ™˜๊ฒฝ๋ณ€์ˆ˜ -classpath ์˜ต์…˜ ์ ‘๊ทผ์ง€์‹œ์ž(์ ‘๊ทผ์ œ์–ด์ž) pacakage ํ‚ค์›Œ๋“œ ์šฐ๋ฆฌ๊ฐ€ ์ปดํ“จํ„ฐ์—์„œ ํ•œ ํด๋” ์•ˆ์— ๋น„์Šทํ•œ ์„ฑ์งˆ์ด ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ๋„ฃ์–ด์„œ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ์ž๋ฐ”์˜ ํŒจํ‚ค์ง€๋„ ์ด๊ฒƒ๊ณผ ๋™์ผํ•œ ๊ฐœ๋…์ด๋‹ค. ์žฅ์  pacakage๋Š” ํด๋ž˜์Šค์˜ ๋ถ„๋ฅ˜๊ฐ€ ์šฉ์ดํ•˜๋‹ค. (๋น„์Šทํ•œ ๊ฒƒ ๋ผ๋ฆฌ ๋ฌถ๋Š”๋‹ค) ํŒจํ‚ค์ง€๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด ๋™์ผํ•œ ํด๋ž˜์Šค๋ช…์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. Package ๊ณ„์ธต FQCN (Fully Qualified Class Name) ๋ชจ๋“  ํด๋ž˜์Šค์—๋Š” ํŒจํ‚ค์ง€๊ฐ€ ์žˆ๋‹ค. String ํด๋ž˜์Šค์˜ ํŒจํ‚ค์ง€๋Š” java.lang ์ด๋ฉฐ, FQCN์€ java.lang.String์ด ๋œ๋‹ค. ์œ„์— Accountํด๋ž˜์Šค์˜ ..

iseunghan
'๐ŸŒป JAVA/์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)