Banner

My Tech Blog (์˜ˆ์‹œ)

์‹ค๋ฌด์—์„œ Map์€ ์–ด๋””์— ์“ฐ์ผ๊นŒ?์šฐ๋ฆฌ๊ฐ€ ์•„๋Š” ์ž๋ฐ”์˜ ๋งต(Map)์€ ํ‚ค-๊ฐ’ ์Œ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.์‚ฌ๋žŒ์„ ‘์ด๋ฆ„ = ํ™๊ธธ๋™’, ‘์ƒ์ผ = ๋ช‡ ์›” ๋ฉฐ์น ’ ๋“ฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋“ฏ์ด๋งต(Map) ์€ ๋Œ€์‘ ๊ด€๊ณ„๋ฅผ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค. ๋งต์€ ๋‹ค๋ฅธ ์–ธ์–ด์—๋„ ์žˆ๋Š” ์ž๋ฃŒํ˜•์œผ๋กœ, associative array ๋˜๋Š” hash๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค. ๋งต์€ ๋ฆฌ์ŠคํŠธ๋‚˜ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์ˆœ์ฐจ์ ์œผ๋กœ(sequential) ์š”์†Ÿ๊ฐ’์„ ๊ตฌํ•˜์ง€ ์•Š๊ณ , ํ‚ค(key)๋ฅผ ์ด์šฉํ•ด ๊ฐ’(value)์„ ์–ป๋Š”๋‹ค. ์šฐ๋ฆฌ๊ฐ€ baseball์ด๋ž€ ๋‹จ์–ด์˜ ๋œป์„ ์ฐพ์„ ๋•Œ ์‚ฌ์ „์˜ 1์ชฝ๋ถ€ํ„ฐ ๋ชจ๋‘ ์ฝ์ง€ ์•Š๊ณ  baseball์ด๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ์žˆ๋Š” ๊ณณ์„ ์ฐพ์•„ ํ™•์ธํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ Map์„ ํ™œ์šฉํ•˜๋ฉด ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ์—์„œ๊ฒ€์ƒ‰ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ์ค‘๋ณต๊ฐ’ ๊ด€๋ฆฌ๊ฐ€ ์‰ฝ๋‹ค. ๋งต ์ž๋ฃŒํ˜•์—๋Š”..
1. ์ž๋ฐ”์˜ ์ž๋ฃŒํ˜• String Buffer๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ์— ์•ž์„œ ์ž๋ฐ”์˜ ์ž๋ฃŒํ˜•์—๋Š” ๊ธฐ๋ณธํ˜•(Primitive Type)๊ณผ ์ฐธ์กฐํ˜•(Reference Type)์ด ์žˆ๋‹ค. ๊ธฐ๋ณธํ˜•์€ ๊ฐ’ ์ž์ฒด๋ฅผ ์ €์žฅํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ •์ˆ˜ํ˜•, ์‹ค์ˆ˜ํ˜•, ๋ฌธ์žํ˜•(char), ๋…ผ๋ฆฌํ˜•์ด ๊ธฐ๋ณธํ˜•์— ์†ํ•œ๋‹ค. ๋ฐ˜๋ฉด, ์ฐธ์กฐํ˜• ์ฃผ์†Œ๊ฐ’์„ ๋‹ด๊ณ  ์žˆ์œผ๋ฉฐ, ์‹ค์ œ๋กœ๋Š” ์ฃผ์†Œ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ํ˜•ํƒœ์ด๋‹ค.  ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž๋ฐ”์˜ 8๊ฐ€์ง€ ๊ธฐ๋ณธํ˜•(Primitive Type)์ด ์•„๋‹Œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ์ฐธ์กฐํ˜•์— ์†ํ•œ๋‹ค. ๋ฆฌ์ŠคํŠธ๋‚˜ ๋งต, ์ง‘ํ•ฉ์ฒ˜๋Ÿผ ์šฐ๋ฆฌ๊ฐ€ ์•„๋Š” ์ž๋ฐ” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ์ž๋ฃŒํ˜•๋“ค์ด ์ฐธ์กฐํ˜•์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”ํžˆ ๋ฌธ์ž์—ด์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” String๋„ ์ฐธ์กฐํ˜•์— ์†ํ•œ๋‹ค. ์ฐธ์กฐํ˜•(Reference Type)- ํด๋ž˜์Šค (Class): ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ๊ฐ..
์—ฌ๋Ÿฌ๋ถ„๋“ค ์ž…๋ ฅ๋„๊ตฌ Scanner ๋งŽ์ด ์“ฐ์‹œ์ฃ ? ๊ทธ๋Ÿฐ๋ฐ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ ํ’€๋‹ค ๋ณด๋ฉด Scanner๋ณด๋‹ค BufferedReader / BufferedWriter์„ ๋” ๋งŽ์ด ์“ฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ค ์ ์ด ๋” ์ข‹์„๊นŒ์š”?    ๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ž…๋ ฅ์€, ํ‚ค๋ณด๋“œ์˜ ์ž…๋ ฅ์ด ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋Š” ์ฆ‰์‹œ ๋ฐ”๋กœ ํ”„๋กœ๊ทธ๋žจ์— ์ „๋‹ฌ๋ฐ˜๋ฉด ๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ž…๋ ฅ์€, ํ‚ค๋ณด๋“œ์˜ ์ž…๋ ฅ์ด ์žˆ์„ ๋•Œ๋งˆ๋‹ค ํ•œ ๋ฌธ์ž์”ฉ ๋ฒ„ํผ๋กœ ์ „์†กํ•œ๋‹ค. ๋ฒ„ํผ๊ฐ€ ๊ฐ€๋“ ์ฐจ๊ฑฐ๋‚˜ ๊ฐœํ–‰ ๋ฌธ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ๋ฒ„ํผ์˜ ๋‚ด์šฉ์„ ํ•œ ๋ฒˆ์— ํ”„๋กœ๊ทธ๋žจ์— ์ „๋‹ฌ์ฆ‰, ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๋ชจ์•„์„œ ์ „๋‹ฌ Scanner๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ† ํฐ ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋„์–ด์“ฐ๊ธฐ์™€ ๊ฐœํ–‰๋ฌธ์ž๋ฅผ ๊ฒฝ๊ณ„๋กœ ํ•˜์—ฌ ์ž…๋ ฅ ๊ฐ’์„ ์ธ์‹๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ๊ฐ€๊ณตํ•  ํ•„์š”๊ฐ€ ์—†์–ด ํŽธ๋ฆฌํ•˜๋‹ค.BufferedReader์€ ์ž…๋ ฅ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๊ฐ€ St..
package ex02๋‹Œํ…๋„๊ฒŒ์ž„๊ธฐ; public class Dongmul extends GameChip { @Override public void start() { System.out.println("๋™๋ฌผ์˜์ˆฒ ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค."); } } package ex02๋‹Œํ…๋„๊ฒŒ์ž„๊ธฐ; public class Mario extends GameChip { @Override public void start() { System.out.println("๋งˆ๋ฆฌ์˜ค์นดํŠธ ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค."); } } package ex02๋‹Œํ…๋„๊ฒŒ์ž„๊ธฐ; public class Zelda extends GameChip { @Override public void start() { System.out.println("์ ค๋‹ค์˜ ์ „์„ค์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค."); }..
โœ… this ํ‚ค์›Œ๋“œ ์˜๋ฏธ ์ž๋ฐ”์—์„œ this ํ‚ค์›Œ๋“œ๋Š” ํ˜„์žฌ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. = this ํ‚ค์›Œ๋“œ๋Š” ์ž๊ธฐ ์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ด. = ์ธ์Šคํ„ด์Šค๊ฐ€ ์ž๊ธฐ ์ž์‹ ์˜ ์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ ์—ฌ๊ธฐ์„œ "ํ˜„์žฌ ๊ฐ์ฒด"๋ž€ ํ˜„์žฌ ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๋งˆ๋‹ค ๊ฐ ์ธ์Šคํ„ด์Šค๋Š” ๊ณ ์œ ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฐ€์ง€๋ฉฐ, ์ด๋ฅผ ๊ฐ์ฒด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ๋ฉ”์„œ๋“œ๊ฐ€ ์†ํ•œ ๊ฐ์ฒด๋ฅผ ์ง€์นญํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โœ… this ํ‚ค์›Œ๋“œ์˜ ์“ฐ์ž„ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์™€ ๋กœ์ปฌ ๋ณ€์ˆ˜ ๊ตฌ๋ถ„: ๋ฉ”์„œ๋“œ ๋‚ด์—์„œ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์™€ ๋กœ์ปฌ ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์ด ์ถฉ๋Œํ•  ๋•Œ, this๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ƒ์„ฑ์ž ํ˜ธ์ถœ: ํ•˜๋‚˜์˜ ์ƒ์„ฑ..
โœจ์‚ฌ์ง„์— ํ”„๋ ˆ์ž„ ์ถ”๊ฐ€ํ•˜๊ธฐ & ์•ก์ž ๋งŒ๋“ค๊ธฐโœจ ์•ˆ๋…•ํ•˜์„ธ์š”. ์˜ค๋Š˜์€ ๊ฐ€์ƒ์š”์†Œ๋กœ ์‚ฌ์ง„์— ๋Œ€๊ฐ์„  ํ”„๋ ˆ์ž„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฒ•, ๋ชจ์„œ๋ฆฌ๋ฅผ ์•ก์ž์ฒ˜๋Ÿผ ๊พธ๋ฏธ๊ธฐ(+ ์‘์šฉ : ๋ชจ์„œ๋ฆฌ๋ฅผ ํ…Œ์ดํ”„๋กœ ๋ถ™์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๊พธ๋ฏธ๊ธฐ) ๋ฐฐ์›Œ๋ด์š”.   ๐Ÿ“Œ 1. ๋Œ€๊ฐ์„  ํ”„๋ ˆ์ž„ ๋งŒ๋“ค๊ธฐ ์‚ฌ์ง„์— ์ž…์ฒด๊ฐ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ๋Œ€๊ฐ์„  ํ”„๋ ˆ์ž„ ๋””์ž์ธ์ด์˜ˆ์š”. ์˜์‚ฌ์š”์†Œ ๋˜๋Š” ๊ฐ€์ƒ์š”์†Œ๋ผ๊ณ ๋„ ๋ถ€๋ฅด๋Š” ::after์ด์šฉํ•ด์„œ ๋งŒ๋“ค์–ด๋ณผ๊ฒŒ์š”. ์ค€๋น„ ๋˜์…จ๋‚˜์š”?   โ˜‘๏ธ  ์š”์†Œ๋ฅผ ๋‘˜๋Ÿฌ์‹ผ ํ…Œ๋‘๋ฆฌ์— ์ด๋ฏธ์ง€๋ฅผ ์ง€์ •ํ•˜๋Š” border-imageborder-image-source: repeating-linear-gradient( 45deg, /* 45๋„ ํšŒ์ „, ๋Œ€๊ฐ์„ ์˜ ๊ธฐ์šธ์–ด์ง„ ๊ฐ๋„ */ #ea987e 0px, #ea987a 2px, /* ์„  ๊ตต๊ธฐ์™€ ์ƒ‰๊น” ์ง€์ • */..
โ€‹ CSS ์ฒ˜์Œ ๋ฐฐ์šฐ์‹œ๋Š” ๋ถ„๋“ค๊ป˜ ๊ฐ€์ƒ์š”์†Œ๋Š” ๋‹ค์†Œ ์–ด๋ ค์šด ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ์ค‘๊ธ‰์ž๋“ค ๊ณผ์ •์—์„œ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์ด ์ ๋‹นํ•˜์ง€๋งŒ, CSS์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํŠธ๋ Œ๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ„๋‹จํ•œ ๊ฐœ๋…๊ณผ ํ™œ์šฉ๋ฒ• ์ •๋„๋Š” ์•Œ์•„๋‘์‹œ๋Š”๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค. ๐Ÿ“Œ1. ๊ฐ€์ƒ์š”์†Œ ::before๊ณผ ::after CSS๋กœ ์„ ํƒํ•œ ๋Œ€์ƒ HTML์š”์†Œ ์•ž์ด๋‚˜ ๋’ค์— ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์„ ํƒ์ž์ž…๋‹ˆ๋‹ค. ๊ฐ€์ƒ์š”์†Œ๋Š” ํŽ˜์ด์ง€ ์•ˆ์— ์‹ค์ œ๋กœ ์กด์žฌํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, ๊ธฐ์กด ํƒœ๊ทธ ์š”์†Œ์˜ ์•ž์ด๋‚˜ ๋’ค์ชฝ์— ์ƒˆ๋กœ์šด ์š”์†Œ๊ฐ€ '์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ' ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ์‹ค๋ฌด์—์„œ ๊ณ ๊ธ‰ CSS ์ž‘์„ฑ ๊ธฐ๋ฒ•์œผ๋กœ ํ™œ์šฉ๋„๊ฐ€ ๋†’๊ณ , ์ž๋ฐ”์ŠคํŠธ๋ฆฝํŠธ๋กœ๋งŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” HTML์š”์†Œ์˜ ์ด๋™ ํšจ๊ณผ๋ฅผ CSS๋กœ ๋น„์Šทํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ์•„์ฃผ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ์•„์ด์ฝ˜์„ ์ถ”๊ฐ€..
โœ… 1. swtich-case๋ฌธ 1.1 ์‚ฌ์šฉ๋ฒ• Switch(๋ณ€์ˆ˜) { case ๊ฐ’1: ๋ช…๋ น1; break; case ๊ฐ’2: ๋ช…๋ น2; break; default: ๋ช…๋ น; break; } if - else if ๋ฌธ ๋Œ€์‹  swtich-case๋ฌธ์„ ์“ฐ๋ฉด ๊ฐ case๋ณ„ ์ฒ˜๋ฆฌ๋ฅผ ํ•œ ๋ˆˆ์— ์•Œ์•„ ๋ณผ ์ˆ˜ ์žˆ์–ด์„œ ๊น”๋”ํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. 1.2 ์˜ˆ์‹œ 1๋“ฑ์€ ๊ธˆ๋ฉ”๋‹ฌ, 2๋“ฑ์€ ์€๋ฉ”๋‹ฌ, 3๋“ฑ์€ ๋™๋ฉ”๋‹ฌ, ๋‚˜๋จธ์ง€๋Š” ์ฐธ๊ฐ€์ƒ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ int rank = 2; switch(rank) { case 1: System.out.println("๋‹น์‹ ์€ ๊ธˆ๋ฉ”๋‹ฌ"); break; case 2: System.out.println("๋‹น์‹ ์€ ์€๋ฉ”๋‹ฌ"); break; case 3: System.out.println("๋‹น์‹ ์€ ๋™๋ฉ”๋‹ฌ"); ..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'์˜ˆ์‹œ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก
์ƒ๋‹จ์œผ๋กœ