Programming Language/Java

๐Ÿ’ป BufferedReader/BufferedWriter - Buffer๋ฅผ ํ†ตํ•ด ์ฝ๊ณ  ์“ฐ๋Š” ํ•จ์ˆ˜ - ์ค‘๊ฐ„์— ๋ฒ„ํผ๋ง์ด ๋œ ํ›„์— ์ „๋‹ฌ - ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. ๋ชจ์•„๋‘์—ˆ๋‹ค๊ฐ€ ํ•œ ๋ฒˆ์— ์ „์†กํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋” ํšจ์œจ์  ๐Ÿ’ป BufferedReader Scanner๋Š” ๋„์–ด์“ฐ๊ธฐ, ์—”ํ„ฐ๋ฅผ ๊ฒฝ๊ณ„๋กœ ์ž…๋ ฅ ๊ฐ’์„ ์ธ์‹ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ๊ฐ€๊ณตํ•  ํ•„์š”๊ฐ€ ์—†์–ด์„œ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธ๋ฆฌ BufferedReader๋Š” ์—”ํ„ฐ๋งŒ์œผ๋กœ ๊ฒฝ๊ณ„๋กœ ์ธ์‹ํ•˜๊ณ , ๋ฐ›์€ ๋ฐ์ดํ„ฐ๊ฐ€ String์œผ๋กœ ๊ณ ์ •๋˜์–ด ๋ฐ์ดํ„ฐ๋ฅผ ๋”ฐ๋กœ ๊ฐ€๊ณตํ•ด์•ผ ํ•จ. ํ•˜์ง€๋งŒ Scanner๋ณด๋‹ค BufferedReader๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋น ๋ฅด๋‹ค. - Method readLine() : ๋ผ์ธ ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ, ๊ณต๋ฐฑ ๋‹จ์œ„๋ฅผ ๋Š์–ด์ฃผ์ง€ ๋ชปํ•จ. ๋‹ค๋ฅธ ํƒ€์ž…์œผ๋กœ ์ž…๋ ฅ๋ฐ›์œผ๋ ค๋ฉด ํ˜•๋ณ€ํ™˜์ด ํ•„์š” read() : ํ•œ ๊ธ€์ž๋งŒ ์ฝ์–ด ์ •์ˆ˜..
ํ•™๊ต ์ˆ˜์—…์‹œ๊ฐ„์— GUI ๊ทธ๋ฆผํŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋ฉด์„œ Enumeration์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋ฉด์„œ, Enum Class method์— ๋Œ€ํ•œ ์ง€์‹์ด ๋ถ€์กฑํ•˜์—ฌ ๊ณต๋ถ€ํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ–๊ณ ์ž ํ•œ๋‹ค. panel.selectTool(EnumName.valueOf(e.getActionCommand())); (↑ ์ด๊ฑฐ๋ถ€ํ„ฐ๊ฐ€ ์ดํ•ด๊ฐ€ ์•ˆ๊ฐ”์—ˆ์Œ;;) โœจ ์—ด๊ฑฐ์ฒด(Enumeration Type) ์žฅ์  1. ์—ด๊ฑฐ์ฒด๋ฅผ ๋น„๊ตํ•  ๋•Œ ์‹ค์ œ ๊ฐ’ + ํƒ€์ž… ์ฒดํฌ 2. ์—ด๊ฑฐ์ฒด์˜ ์ƒ์ˆซ๊ฐ’์ด ์žฌ์ •์˜๋˜๋”๋ผ๋„ ๋‹ค์‹œ compile ํ•„์š” ์—†์Œ โœจ values() ํ•ด๋‹น ์—ด๊ฑฐ์ฒด์˜ ๋ชจ๋“  ์ƒ์ˆ˜๋ฅผ ์ €์žฅํ•œ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ˜ํ™˜ for(Rainbow rainbow; Rainbow.values()){ System.out.println(rainbow); } โœจ valueOf() ์ „๋‹ฌ..
1. Date Class : ๋‚ ์งœ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ํด๋ž˜์Šค ๊ฐ์ฒด ๊ฐ„์— ๋‚ ์งœ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ๋งค๊ฐœ๋ณ€์ˆ˜๋‚˜ ๋ฆฌํ„ดํƒ€์ž…์œผ๋กœ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. Date ๊ฐ์ฒด์˜ toString() ๋ฉ”์†Œ๋“œ๋Š” ์˜๋ฌธ์œผ๋กœ ๋œ ๋‚ ์งœ๋ฅผ ๋ฆฌํ„ดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์›ํ•˜๋Š” ๋‚ ์งœ ํ˜•์‹์˜ ๋ฌธ์ž์—ด์„ ์–ป๊ณ  ์‹ถ๋‹ค๋ฉด SimpleDateFormat์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. SimpleDateFormat ํ˜•์‹ ๋ฌธ์ž์—ด: yyyy๋Š” 4์ž๋ฆฌ ์—ฐ๋„, MM์€ 2์ž๋ฆฌ ์›”, dd๋Š” 2์ž๋ฆฌ ์ผ, hh๋Š” 2์ž๋ฆฌ ์‹œ๊ฐ„, mm์€ 2์ž๋ฆฌ ๋ถ„, ss๋Š” ๋‘์ž๋ฆฌ ์ดˆ format() method: ์›ํ•˜๋Š” ํ˜•์‹์˜ ๋‚ ์งœ ์ •๋ณด๋ฅผ ์–ป๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฉ”์†Œ๋“œ, parameter variable์€ date ๊ฐ์ฒด public static void main(String[] args) { Date date = new Date(..
- Wrapper Class (ํฌ์žฅ ํด๋ž˜์Šค) ์ž๋ฐ”๋Š” ๊ธฐ๋ณธ ํƒ€์ž… (byte, char, short, int, long, float, double, boolean)์˜ ๊ฐ’์„ ๊ฐ–๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ๊ฐ์ฒด๋ฅผ ํฌ์žฅ ๊ฐ์ฒด๋ผ๊ณ  ํ•œ๋‹ค.( ๊ธฐ๋ณธ ํƒ€์ž… ๊ฐ’์„ ๋‚ด๋ถ€์— ๋‘๊ณ  ํฌ์žฅ ) ํฌ์žฅ ํ•˜๊ณ  ์žˆ๋Š” ๊ธฐ๋ณธ ํƒ€์ž… ๊ฐ’์€ ์™ธ๋ถ€์—์„œ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค. ๋งŒ์•ฝ ๋‚ด๋ถ€์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ƒˆ๋กœ์šด ํฌ์žฅ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. 1. ๋ฐ•์‹ฑ(Boxing)๊ณผ ์–ธ๋ฐ•์‹ฑ(Unboxing) - ๋ฐ•์‹ฑ: ๊ธฐ๋ณธ ํƒ€์ž…์˜ ๊ฐ’์„ ํฌ์žฅ ๊ฐ์ฒด๋กœ ๋งŒ๋“œ๋Š” ๊ณผ์ • - ์–ธ๋ฐ•์‹ฑ: ํฌ์žฅ ๊ฐ์ฒด์—์„œ ๊ธฐ๋ณธ ํƒ€์ž…๊ณผ ๊ฐ’์„ ์–ป์–ด๋‚ด๋Š” ๊ณผ์ • //boxing Byte obj = new Byte(10); // ๋ฌธ์ž์—ด์„ ์ค„ ๊ฒฝ์šฐ Byte obj = new Byte("10"); Characto..
String ํด๋ž˜์Šค๋Š” String ๊ฐ์ฒด๋กœ ์ž๋™ ์ƒ์„ฑ ๋˜์ง€๋งŒ, ๋‹ค์–‘ํ•œ ์ƒ์„ฑ์ž๋ฅผ ์ด์šฉํ•ด์„œ String ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. // ๋ฐฐ์—ด ์ „์ฒด๋ฅผ String ๊ฐ์ฒด๋กœ ์ƒ์„ฑ String str = new String(byte[] bytes); // ์ง€์ •ํ•œ ๋ฌธ์ž์…‹์œผ๋กœ ๋””์ฝ”๋”ฉ // ๋ฌธ์ž์…‹ ์˜ˆ์‹œ : UTF-8 String str = new String(byte[] bytes, String charseName); //๋ฐฐ์—ด์˜ offset ์ธ๋ฑ์Šค ์œ„์น˜๋ถ€ํ„ฐ length ๋งŒํผ String ๊ฐ์ฒด ์ƒ์„ฑ String str = new String(byte[] bytes, int offset, int length); // ์ง€์ •ํ•œ ๋ฌธ์ž์…‹์œผ๋กœ ๋””์ฝ”๋”ฉ String str = new String(byte[] bytes, int offset..
์ž๋ฐ”์—์„œ ์ œ๊ณตํ•˜๋Š” API(Application Programming Interface)๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐœ๋ฐœ์— ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํด๋ž˜์Šค ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ชจ์Œ์„ ๋งํ•œ๋‹ค. API ๋„ํ๋จผํŠธ๋Š” HTML ํŽ˜์ด์ง€์— ์ž‘์„ฑ์ด ๋˜์–ด์žˆ๋‹ค. -> ํŽ˜์ด์ง€ 1. Object Class : ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•˜๊ฒŒ ๋˜๋ฉด extends ํ‚ค์›Œ๋“œ๋กœ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜์ง€ ์•Š์•„๋„ ์ž๋™์œผ๋กœ java.lang.Object ํด๋ž˜์Šค๋ฅผ ์ƒ์† ๋ฐ›๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋“  ์ž๋ฐ”์˜ ํด๋ž˜์Šค๋Š” Object ํด๋ž˜์Šค์˜ ์ž์‹์ด๊ฑฐ๋‚˜ ์ž์† ํด๋ž˜์Šค๋‹ค. โ‘  ๊ฐ์ฒด ๋น„๊ต (equals()) : ๊ฐ์ฒด๋ฅผ ๋น„๊ตํ•  ๋•Œ ์‚ฌ์šฉ๋˜๊ณ , ๊ฐ™์€ ๊ฐ์ฒด๊ฑด ๋‹ค๋ฅธ ๊ฐ์ฒด๊ฑด ์ƒ๊ด€ ์—†์ด ๊ฐ์ฒด๊ฐ€ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋™์ผํ•œ์ง€ ํ™•์ธํ•œ๋‹ค. equals()๋Š” ๋น„๊ต์—ฐ์‚ฐ์ž ==์™€ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ๋‘ ๊ฐ์ฒด๊ฐ€ ๋™์ผํ•œ ๊ฐ์ฒด..
์˜ˆ์™ธ(Exception)๋ž€ ์‚ฌ์šฉ์ž์˜ ์ž˜๋ชป๋œ ์กฐ์ž‘, ๊ฐœ๋ฐœ์ž์˜์ž˜๋ชป๋œ ์ฝ”๋”ฉ์œผ๋กœ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜๋ฅผ ๋งํ•œ๋‹ค. ์ž๋ฐ”์—์„œ๋Š” ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผ ํ•  ๋•Œ, ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์œ ๋ฌด๋ฅผ ํ™•์ธํ•œ๋‹ค(try, catch ๋“ฑ) 1. ์˜ˆ์™ธ ํด๋ž˜์Šค 1. ์ผ๋ฐ˜์˜ˆ์™ธ : ์ปดํŒŒ์ผ๋Ÿฌ ์ฒดํฌ ์˜ˆ์™ธ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ, ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ์ž๋ฐ” ์†Œ์Šค์— ์ปดํŒŒ์ผ ํ•˜๋Š” ๊ณผ์ •์—์„œ ํ•ด๋‹น ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•œ๋‹ค. ์ฆ‰, ์ปดํŒŒ์ผ ์‹œ ์—๋Ÿฌ์ฒดํฌ, RunTimeException์˜ ํ•˜์œ„ ํด๋ž˜์ŠคโŒโŒ 2. ์‹คํ–‰์˜ˆ์™ธ : ์ปดํŒŒ์ผ๋Ÿฌ ๋„Œ ์ฒดํฌ ์˜ˆ์™ธ ์‹คํ–‰ ์‹œ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†์ด ๊ฐ‘์ž๊ธฐ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ปดํŒŒ์ผ ๊ณผ์ •์—์„œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€ ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฆ‰, ์ปดํŒŒ์ผ ์‹œ ์—๋Ÿฌ์ฒดํฌ ์•ˆํ•จ, RunTimeException์˜ ํ•˜์œ„ ํด๋ž˜์Šค ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ฒดํฌํ•˜์ง€ ์•Š..
1. ์ต๋ช… ๊ฐ์ฒด (class) : ์ต๋ช… ๊ฐ์ฒด๋Š” ์ด๋ฆ„์ด ์—†๋Š” ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ด ๋•Œ, ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜๊ฑฐ๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ด์•ผํ•œ๋‹ค. ์ต๋ช… ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ์—๋Š” ํด๋ž˜์Šค ์ด๋ฆ„์ด ์—†๋‹ค. ์ต๋ช… ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ, ์ž์‹ ํด๋ž˜์Šค๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์„ ์–ธํ•˜๋Š” ์ด์œ ๋Š” ์ด๋ฏธ ์„ ์–ธ๋œ ์ž์‹ ํด๋ž˜์Šค๋กœ ๊ฐ„๋‹จํžˆ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์žฌ์‚ฌ์šฉ์„ฑ ๋•Œ๋ฌธ์ด๋‹ค. ํ•˜์ง€๋งŒ, ์žฌ์‚ฌ์šฉ์„ฑ์ด ํ•„์š”์—†๋Š” ๊ฒฝ์šฐ์—๋Š” ์ต๋ช… ์ž์‹ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํšจ๊ณผ์ ์ด๋‹ค. ์ต๋ช… ๊ฐ์ฒด๋Š” ์ผ๋ฐ˜ ํด๋ž˜์Šค์™€ ๋‹ฌ๋ฆฌ ์ƒ์„ฑ์ž๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†๋‹ค. Parent parent = new Parent(Parameter variable){ // ํ•„๋“œ ๋ฉ”์†Œ๋“œ ์„ ์–ธ }; //Parent.java public class Parent { public void parentMethod() { ... } }..
1. ์ค‘์ฒฉ ํด๋ž˜์Šค(nested class) : ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์„ ์–ธํ•œ ํด๋ž˜์Šค ์„œ๋กœ ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ณ , ์™ธ๋ถ€์—์„œ๋Š” ๋ถˆํ•„์š”ํ•œ ๊ด€๊ณ„๋ฅผ ๊ฐ์ถค์œผ๋กœ ์ฝ”๋“œ์˜ ๋ณต์žก์„ฑ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. # ๋ฉค๋ฒ„ ํด๋ž˜์Šค 1. ์ธ์Šคํ„ด์Šค ๋ฉค๋ฒ„ ํด๋ž˜์Šค static ํ‚ค์›Œ๋“œ ์—†์ด ์ค‘์ฒฉ ์„ ์–ธ๋œ ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค ํ•„๋“œ์™€ ๋ฉ”์†Œ๋“œ ์„ ์–ธ๋งŒ ๊ฐ€๋Šฅ / ์ •์  ํ•„๋“œ์™€ ๋ฉ”์†Œ๋“œ๋Š” ์„ ์–ธ ๋ถˆ๊ฐ€๋Šฅ class A{ class B{ } } A ํด๋ž˜์Šค ์™ธ๋ถ€์—์„œ B ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด A ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ ํ›„์— B ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค. A ํด๋ž˜์Šค ๋‚ด๋ถ€์˜ ์ƒ์„ฑ์ž์™€ ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ์—์„œ๋Š” ์ผ๋ฐ˜ ํด๋ž˜์Šค์ฒ˜๋Ÿผ B ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. A a = new A(); A.B b = a.new B(); ํ•˜์ง€๋งŒ, ์ผ๋ฐ˜์ ์œผ๋กœ A ํด๋ž˜์Šค ์™ธ๋ถ€์—์„œ B ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ผ์€ ๊ฑฐ์˜ ์—†๋‹ค. 2. ์ •์  ๋ฉค๋ฒ„ ํด..
1. ์ถ”์ƒ ํด๋ž˜์Šค - ์ถ”์ƒ ํด๋ž˜์Šค: ์‹ค์ฒด ํด๋ž˜์Šค๋“ค์˜ ๊ณตํ†ต์ ์ธ ํŠน์„ฑ์„ ์ถ”์ถœํ•ด์„œ ์„ ์–ธํ•œ ํด๋ž˜์Šค, ์‹ค์ฒด ํด๋ž˜์Šค์˜ ๋ถ€๋ชจ ๊ด€๊ณ„๋กœ ๊ตฌํ˜„๋˜์–ด ์ƒ์†์˜ ๊ด€๊ณ„๊ฐ€ ๋œ๋‹ค. ์ž‘์„ฑํ•ด์•ผํ•  ๋ฉ”์†Œ๋“œ๊ฐ€ ๋™์ผํ•˜๊ณ , ์ด๋ฆ„์ด ํ†ต์ผํ•ด์•ผํ•œ๋‹ค๋ฉด abstract class๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. public abstract class Parent{...} // abstract ์„ ์–ธ public class Child extends Parent{...} // abstract ์ƒ์† //------------------------------------------------------ /* ์•ˆ๋จ!! Parent parent = new Parent(); */ ์ถ”์ƒ ํด๋ž˜์Šค๋Š” new ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด์„œ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์ง€ ๋ชปํ•˜๊ณ , ์ƒ์†์„ ํ†ตํ•ด์„œ๋งŒ ์ž์‹ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ..
chaerlo127
'Programming Language/Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก