๐Ÿ’ฌ Language/Java

์ง€๋‚œ ํฌํŠธํŒ…์—์„œ Split ํ•จ์ˆ˜๋ฅผ ํ†ตํ•œ Tokenizer ๋ฐฉ๋ฒ•์„ ๊ธฐ์ˆ ํ–ˆ๋‹ค. Java์—์„œ๋Š” StringTokenizer๋ผ๋Š” ํ•จ์ˆ˜๋„ ์กด์žฌํ•œ๋‹ค. ๋™์ž‘ ์›๋ฆฌ๋Š” C์–ธ์–ด์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ strtok ํ•จ์ˆ˜์™€ ๋น„์Šทํ•˜๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ƒ์„ฑ์ž(Constructor) StringTokenizer(String str) ํ•ด๋‹น ๋ฌธ์ž์—ด์— ๋Œ€ํ•ด ๋ฌธ์ž์—ด ํ† ํฐํ™” ๊ตฌ์„ฑ StringTokenizer(String str, String delim) ํ•ด๋‹น ๋ฌธ์ž์—ด์— ๋Œ€ํ•ด ๋ฌธ์ž์—ด ํ† ํฐํ™” ๊ตฌ์„ฑ StringTokenizer(String str, String delim, boolean returnDelims) ํ•ด๋‹น ๋ฌธ์ž์—ด์— ๋Œ€ํ•ด ๋ฌธ์ž์—ด ํ† ํฐํ™” ๊ตฌ์„ฑ ํ•จ์ˆ˜(Method) countTokens() ์•ž์œผ๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ํšŸ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. hasMoreElemen..
EventHandler๋ฅผ ์ž‘์„ฑํ•˜๊ณ ์ž ์—ฌ๋Ÿฌ ๋ฌธ์„œ๋“ค์„ ์ฐธ์กฐํ•˜๊ณ  ๋‹ค๋…”๋Š”๋ฐ ๋ถ€๋ชจ ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์„ ๋•Œ extends ํ˜น์€ implements๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. extends, implements์— ๋Œ€ํ•œ ์ฐจ์ด๋ฅผ ๋งํ•˜๊ธฐ ์ „์— ์ถ”์ƒํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค. [์ถ”์ƒํด๋ž˜์Šค vs ์ธํ„ฐํŽ˜์ด์Šค] ์ถ”์ƒํด๋ž˜์Šค - ํ•˜๋‚˜ ์ด์ƒ์˜ ์ถ”์ƒ๋ฉ”์„œ๋“œ๋ฅผ ํฌํ•จํ•˜๊ฑฐ๋‚˜ abstract๋กœ ์ •์˜๋œ๋‹ค. - ์ถ”์ƒํด๋ž˜์Šค๋Š” ํ•ด๋‹น ์ถ”์ƒํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๊ณ , ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. - ๊ฐ™์€ ์ข…๋ฅ˜๋‚˜ ํ–‰๋™๋“ค์„ ๊ตฌํ˜„ํ• ๊ฒŒ ๋งŽ์„๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. - ์ƒ์†์— ๋Œ€ํ•œ ๊ณ„์ธต๊ตฌ์กฐ๋ฅผ ๋ช…ํ™•ํžˆ ํ‘œํ˜„ํ• ๋•Œ ์ถ”์ƒํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•œ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค - ๋ชจ๋“  ๋ฉ”์„œ๋“œ๊ฐ€ ์ถ”์ƒ๋ฉ”์„œ๋“œ์ด๋‹ค. - ํ•จ์ˆ˜์˜ ๊ตฌํ˜„์„ ๊ฐ•์ œํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. - final์„ ๋ถ™์ผ ์ˆ˜ ์—†์œผ๋ฉฐ, ..
Calculator๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ํ™”๋ฉด์— ๊ธ€์ž๊ฐ€ ์ž‘์„ฑ๋˜๊ฒŒ ํ•˜๊ณ ์‹ถ์—ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฐœ๋…์ธ Event์— ๋Œ€ํ•ด์„œ ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค. Event - GUI ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ฐœ์ƒ๋˜๋Š” ํ–‰์œ„๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ex) ๋ฒ„ํŠผ ํด๋ฆญ, ๋ฆฌ์ŠคํŠธ ์„ ํƒ, ์ฒดํฌ๋ฐ•์Šค ์ฒดํฌ ๋“ฑ ๋ชจ๋“  ์ด๋ฒคํŠธ ํด๋ž˜์Šค๋Š” java.util.EventObjectํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์†๋ฐ›๋Š”๋‹ค. ํ•ด๋‹น ํด๋ž˜์Šค์—๋Š” ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ ๊ฐ์ฒด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” getSource() ๋ฉ”์„œ๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค. // EventObject ํด๋ž˜์Šค ์ฃผ์š” ๋ฉ”์„œ๋“œ Object getSource() // ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ ๊ฐ์ฒด ๋ฐ˜ํ™˜ String toString() // ์ด๋ฒคํŠธ ์ด๋ฆ„์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ Event 3๋Œ€ ์†์„ฑ 1. Event Source - ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ ex) ๋ฒ„..
๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ์ง„ํ–‰ํ•˜๊ธฐ์— ์•ž์„œ Console ๋‹จ์—์„œ ์ž…์ถœ๋ ฅ์„ ์ง„ํ–‰ํ•˜๊ธฐ์—๋Š” ํ”„๋กœ์ ํŠธ์˜ ์™„์„ฑ๋„๊ฐ€ ๋–จ์–ด์งˆ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ์‹ค์ œ ๊ณ„์‚ฐ๊ธฐ ํ”„๋กœ๊ทธ๋žจ๋“ค ์ฒ˜๋Ÿผ GUI๋กœ ํ‘œํ˜„ํ•ด๋ณด๋ฉด์„œ Java์˜ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ๋“ค์„ ์ตํ˜€๋ณด๊ณ ์žํ•œ๋‹ค. Java๋กœ GUI๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” AWT, Swing ์ด ๋‘๊ฐ€์ง€ ํŒจํ‚ค์ง€๊ฐ€ ๋Œ€ํ‘œ์ ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 1. AWT(Abstract Window Toolkit) Package OS์˜ ์ž์›์„ ์ด์šฉํ•ด ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•œ๋‹ค. (์šด์˜์ฒด์ œ๋ณ„๋กœ UI๊ฐ€ ๋‹ค๋ฅด๋‹ค) java.awt.* ex) Frame, Button, TextField, ... 2. Swing Package UI์ ์ธ ์ธก๋ฉด์—์„œ ๊ฐ์ข… ์‹œ์Šคํ…œ์ด ๊ณตํ†ต์ ์œผ๋กœ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก Java์˜์—ญ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ ์šฉ๋ฐ›๋Š”๋‹ค. java..
๊ณ„์‚ฐ๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๋ฌธ๋“ ํ•œ ๋ฌธ์ž์—ด์—์„œ Tokenization์„ ํ†ตํ•ด ์‚ฌ์น™์—ฐ์‚ฐ์„ ์ œ์™ธํ•œ ๋ฌธ์ž๋“ค์„ ๊ฑท์–ด๋‚ด๊ณ  ์‹ถ์—ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ์ดˆ๋ฐ˜์ด๋ผ Tokenization์„ ์–ด๋–ป๊ฒŒ ํ• ๊นŒ ๊ณ ๋ฏผํ•˜๋ฉด์„œ ๊ตฌ๊ธ€๋ง์œผ๋กœ ์—ฌ๋Ÿฌ ์ž๋ฃŒ๋ฅผ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ Splitํ•จ์ˆ˜๋ฅผ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค. ์•„๋ž˜ ๊ตฌ๋ฌธ์„ ํฌํ•จํ•œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์ž ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. // Initial Code Scanner input = new Scanner(System.in); String str = input.next(); String[] p = str.split("+"); //error split ํ•จ์ˆ˜์˜ ๊ตฌ์กฐ๋ฅผ ๋‹ค์‹œ ์‚ดํŽด๋ณด๋‹ˆ ํ•ด๋‹น ํ•จ์ˆ˜๋Š” ์ •๊ทœํ‘œํ˜„์‹์„ ํ†ตํ•ด ๋ฌธ์ž๋ฅผ ์ธ์‹ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์ •๊ทœํ‘œํ˜„์‹์— ๋”ฐ๋ฅด๋ฉด +๊ฐ€ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋Š” "์•ž ๋ฌธ์ž๊ฐ€ 1๊ฐœ ์ด์ƒ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค." ๋ผ๋Š” ๋œป์ด๋ผ๊ณ  ํ•œ๋‹ค...
args๋กœ cmd / argument์—์„œ args์˜ ๊ฐ’์ด ์ž…๋ ฅ๋˜์ง€ ์•Š์•˜์„ ๋•Œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๊ณ ์‹ถ์–ด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฌธ๋ฒ•์„ ์ž‘์„ฑํ–ˆ๋‹ค. //Initial Code String name = args[0]; if(args[0] == null || args[0] == " ") { System.out.println("Please input Username\nex)java Main User_name"); } System.out.println("Hello User "+name); ํ•˜์ง€๋งŒ args[0]์˜ ์ดˆ๊ธฐ๊ฐ’์ด ์ž…๋ ฅ๋˜์ง€ ์•Š์•˜์„ ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์œ„ ์—๋Ÿฌ๋ฉ”์‹œ์ง€๋ฅผ ์ฝ์–ด๋ณด๊ณ , Index 0๋ฒˆ์งธ๊ฐ€ length 0๊ณผ ๊ฒฐ์†๋˜์ง€์•Š์•˜๋‹ค(?) ์ •๋„๋กœ ํ•ด์„ํ•ด๋ณด์•˜๋‹ค. ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ž๋ฃŒ๋ฅผ ์ฐพ์•„๋ณด๋ฉด์„œ ์•Œ๊ฒŒ ๋œ ๊ฒƒ์ธ๋ฐ ์•„๋ž˜ ์˜ˆ์ œ์˜ i..
_์ฃผ๋…ธ
'๐Ÿ’ฌ Language/Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)