๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

STUDY/JAVA

(28)
JAVA - ์ •์ ๋ฉค๋ฒ„์™€ static & ์‹ฑ๊ธ€ํ†ค(singleton) ์ •์ ๋ฉค๋ฒ„ ? ํด๋ž˜์Šค์— ๊ณ ์ •๋œ ๋ฉค๋ฒ„ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•„๋“œ์™€ ๋ฉ”์†Œ๋“œ 1. ์ •์ ๋ฉค๋ฒ„ ์„ ์–ธ ์ •์ ํ•„๋“œ์™€ ์ •์  ๋ฉ”์†Œ๋“œ๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํ•„๋“œ์™€ ๋ฉ”์†Œ๋“œ ์„ ์–ธ ์‹œ static ํ‚ค์›Œ๋“œ๋ฅผ ๋ถ™์—ฌ์ฃผ๋ฉด ๋œ๋‹ค. public class ํด๋ž˜์Šค{ static ํƒ€์ž… ํ•„๋“œ [= ์ดˆ๊ธฐ๊ฐ’]; static ๋ฆฌํ„ด ํƒ€์ž… ๋ฉ”์†Œ๋“œ ( ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ ์–ธ, ...){...} ์ •์  ํ•„๋“œ์™€ ๋ฉ”์†Œ๋“œ๋Š” ํด๋ž˜์Šค์— ๊ณ ์ • -> ํด๋ž˜์Šค ๋ณ„๋กœ ๊ด€๋ฆฌ ๋จ โ“ ํ•„๋“œ๋ฅผ ์„ ์–ธ ํ•  ๋•Œ ํŒ๋‹จ๊ธฐ์ค€ ๊ฐ์ฒด๋งˆ๋‹ค ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•  ๋ฐ์ดํ„ฐ = ์ธ์Šคํ„ด์Šค ํ•„๋“œ ex) static double pi = 3.141592; ๊ณต์šฉ์ ์ธ ๋ฐ์ดํ„ฐ = ์ •์  ํ•„๋“œ ex) String color; โ“‘ ๋ฉ”์†Œ๋“œ๋ฅผ ์„ ์–ธ ํ•  ๋•Œ ํŒ๋‹จ๊ธฐ์ค€ ์ธ์Šคํ„ด์Šค ํ•„๋“œ๋ฅผ ์ด์šฉํ•ด์„œ ์‹คํ–‰ ํ•ด์•ผ ํ•˜๋ฉด = ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ ์ธ..
JAVA - ๋ฉ”์†Œ๋“œ ๋ฉ”์†Œ๋“œ : ๊ฐ์ฒด์˜ ๋™์ž‘์— ํ•ด๋‹นํ•˜๋Š” ์‹คํ–‰ ๋ธ”๋ก void methodName() {....} - ํ•„๋“œ๋ฅผ ์ฝ๊ณ  ์ˆ˜์ • - ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ - ๊ฐ์ฒด๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์˜ ์ˆ˜๋‹จ - ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ๋งค๊ฐœ๊ฐ’์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ - ์‹คํ–‰ ํ›„ ์–ด๋–ค ๊ฐ’์„ ๋ฆฌํ„ด ๋ฉ”์†Œ๋“œ ์„ ์–ธ ๋ฉ”์†Œ๋“œ ์„ ์–ธ์€ ์„ ์–ธ๋ถ€(๋ฆฌํ„ดํƒ€์ž…, ๋ฉ”์†Œ๋“œ ์ด๋ฆ„, ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ ์–ธ)์™€ ์‹คํ–‰๋ธ”๋ก์œผ๋กœ ๊ตฌ์„ฑ โ“ ๋ฆฌํ„ดํƒ€์ž… : ๋ฉ”์†Œ๋“œ๋Š” ๋ฆฌํ„ด๊ฐ’์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ๊ณ  ์—†์„ ์ˆ˜๋„ ์žˆ๋Š”๋ฐ, ์‹คํ–‰ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ํ˜ธ์ถœํ•œ ๊ณณ์— ๋„˜๊ฒจ์ค˜์•ผ ํ•  ๊ฒฝ์šฐ ๋ฆฌํ„ด๊ฐ’์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. POWERON์˜ ๊ฒฝ์šฐ ์ „์›๋งŒ ํ‚ค๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌํ„ด๊ฐ’์ด ์—†๋‹ค. ->์ €์žฅํ•  ๋ณ€์ˆ˜๊ฐ€ ์—†์–ด๋„ ๋จ -> void ๊ณ„์‚ฐ๊ธฐ์˜ ADD์˜ ๊ฒฝ์šฐ ๊ฐ’์„ ๋”ํ•œ ๊ฒฐ๊ณผ๊ฐ’์ด ์žˆ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌํ„ด๊ฐ’์ด ์žˆ๋‹ค. -> ๊ฒฐ๊ณผ๊ฐ’์„ ์ €์žฅํ•  ๋ณ€์ˆ˜ ํ•„์š” -> ๋ฆฌํ„ด..
JAVA - ๊ฐ์ฒด์ง€ํ–ฅํ”„๋กœ๊ทธ๋ž˜๋ฐ(ํ•„๋“œ, ์ƒ์„ฑ์ž) OPP(๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ) ? ๋ถ€ํ’ˆ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ๋จผ์ € ๋งŒ๋“ค๊ณ , ๊ฐ์ฒด๋ฅผ ์กฐ๋ฆฝํ•ด ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑํ•˜๋Š” ๊ธฐ๋ฒ• ์™„์„ฑํ’ˆ ๊ฐ์ฒด๋ฅผ ๋ชจ๋ธ๋งํ•˜๊ณ , ์ง‘ํ•ฉ๊ด€๊ณ„์— ์žˆ๋Š” ๋ถ€ํ’ˆ ๊ฐ์ฒด์™€ ์‚ฌ์šฉ ๊ด€๊ณ„์— ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜์”ฉ ์„ค๊ณ„ ํ•œ ํ›„ ์กฐ๋ฆฝ ๊ฐ์ฒด โ“ ์†์„ฑ (=field) โ“‘ ๋™์ž‘ (=method) ๊ฐ์ฒด๋ชจ๋ธ๋ง(Object Modeling) : ํ˜„์‹ค์„ธ๊ณ„์˜ ๊ฐ์ฒด๋ฅผ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ์ฒด๋กœ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด์˜ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ = method ํ˜ธ์ถœ ๊ฐ์ฒด์— ๋„ํŠธ์—ฐ์‚ฐ์ž(.)์„ ๋ถ™์ด๊ณ  ๋ฉ”์†Œ๋“œ๋ฅผ ๋ฉ”์†Œ๋“œ ์ด๋ฆ„์„ ๊ธฐ์ˆ  ๋ฆฌํ„ด๊ฐ’ = ๊ฐ์ฒด.๋ฉ”์†Œ๋“œ(๋งค๊ฐœ๊ฐ’1, ๋งค๊ฐœ๊ฐ’2, ....) ๊ฐ์ฒด๊ฐ„์˜ ๊ด€๊ณ„ ๋Œ€๋ถ€๋ถ„์˜ ๊ฐ์ฒด๋Š” ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ์žˆ๋‹ค. โ“ ์ง‘ํ•ฉ๊ด€๊ณ„ : ๊ฐ์ฒด๋Š” ํ•˜๋‚˜๋Š” ๋ถ€ํ’ˆ, ํ•˜๋‚˜๋Š” ์™„์„ฑํ’ˆ์— ํ•ด๋‹น โ“‘ ์ƒ์†๊ด€๊ณ„ : ๋ถ€๋ชจ๊ฐ์ฒด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž์‹๊ฐ์ฒด๋ฅผ ์ƒ..
JAVA - ์—ด๊ฑฐํƒ€์ž… ์—ด๊ฑฐํƒ€์ž… ? ํ•œ์ •๋œ ๊ฐ’๋งŒ ๊ฐ–๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž… (enumeration type) ex. ๊ณ„์ ˆ(๋ด„,์—ฌ๋ฆ„,๊ฐ€์„,๊ฒจ์šธ) / month(1,2,3,...12) ์—ด๊ฑฐํƒ€์ž… ์ƒ์„ฑ 1. file - new - Enum 2. ์—ด๊ฑฐํƒ€์ž…์ด ์†ํ•  ํŒจํ‚ค์ง€ ๋ช…์„ ์ž…๋ ฅํ•˜๊ณ , name ์นธ์— ์—ด๊ฑฐ ํƒ€์ž… ์ด๋ฆ„์„ ์ž‘์„ฑํ•ด์ค€๋‹ค. 3. ์•„๋ž˜์™€ ๊ฐ™์ด ์—ด๊ฑฐ ์ƒ์ˆ˜๋“ค์„ ๋‚˜์—ดํ•ด์ฃผ๋ฉด ๋œ๋‹ค. * ์—ด๊ฑฐ ์ƒ์ˆ˜๋“ค์€ ๊ด€๋ก€์ ์œผ๋กœ ๋ชจ๋‘ ๋Œ€๋ฌธ์ž๋กœ ์—ด๊ฑฐํƒ€์ž… ์‚ฌ์šฉ ์—ด๊ฑฐํƒ€์ž…๋„ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋ฏ€๋กœ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ์‚ฌ์šฉํ•ด์•ผ ํ•จ ์—ด๊ฑฐ ์ƒ์ˆ˜๋„ ๊ฐ์ฒด์ด๋ฏ€๋กœ ์œ„์— ์ž‘์„ฑํ•œ Season์˜ ๊ฒฝ์šฐ SPRING ๋ถ€ํ„ฐ WINTER๊นŒ์ง€์˜ ์—ด๊ฑฐ ์ƒ์ˆ˜๋Š” ์ด 4๊ฐœ์˜ Season ๊ฐ์ฒด๋กœ ์ƒ์„ฑ๋œ๋‹ค. December์— ์ €์žฅ๋˜๋Š” ๊ฐ’์€ Season.WINTER ์—ด๊ฑฐ ์ƒ์ˆ˜๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ๊ฐ์ฒด์˜ ๋ฒˆ์ง€์ด๋ฏ€๋กœ ์•„๋ž˜ ๋น„๊ต..
JAVA - ํ–ฅ์ƒ๋œ for๋ฌธ ํ–ฅ์ƒ๋œ for๋ฌธ ํ–ฅ์ƒ๋œ for๋ฌธ์€ ์นด์šดํ„ฐ ๋ณ€์ˆ˜์™€ ์ฆ๊ฐ์‹์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ฐฐ์—ด ๋ฐ ์ปฌ๋ ‰์…˜ ํ•ญ๋ชฉ์˜ ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต, ์ž๋™์œผ๋กœ for๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ for(ํƒ€์ž…๋ณ€์ˆ˜ : ๋ฐฐ์—ด){ ์‹คํ–‰๋ฌธ } 1. for๋ฌธ์ด ์ฒ˜์Œ ์‹คํ–‰๋  ๋•Œ ๋ฐฐ์—ด์—์„œ ๊ฐ€์ ธ์˜ฌ ๊ฐ’์ด ์กด์žฌํ•˜๋Š”์ง€ ํ‰๊ฐ€, 2. ๊ฐ€์ ธ์˜ฌ ๊ฐ’์ด ์žˆ๋‹ค๋ฉด ํ•ด๋‹น๊ฐ’์„ ๋ณ€์ˆ˜์— ์ €์žฅ & ์‹คํ–‰๋ฌธ ์‹คํ–‰ 3. ์‹คํ–‰๋ฌธ์ด ๋ชจ๋‘ ์‹คํ–‰๋˜๋ฉด ๋ฐฐ์—ด์—์„œ ๊ฐ€์ ธ์˜ฌ ๋‹ค์Œ ๊ฐ’์ด ์กด์žฌํ•˜๋Š”์ง€ ํ‰๊ฐ€ 4. ์กด์žฌํ•˜๋ฉด ๊ณ„์† ๋ฐ˜๋ณต, ์—†์œผ๋ฉด ์ข…๋ฃŒ int[] scores = {95,71,86,93,87}; int sum=0; for(int score : scores){ sum = sum + score; } System.out.println("์ ์ˆ˜ ์ดํ•ฉ : " + sum); //432
JAVA - ๋‹ค์ฐจ์› ๋ฐฐ์—ด ๋‹ค์ฐจ์› ๋ฐฐ์—ด 2์ฐจ์› ๋ฐฐ์—ด ? ์ˆ˜ํ•™์˜ ํ–‰๋ ฌ์„ ๋– ์˜ฌ๋ฆฌ๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด๋ฐ ๊ฐ€๋กœ์ธ๋ฑ์Šค์™€ ์„ธ๋กœ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. int[][] scores = new int [2][3]; ์œ„์™€๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด 2ํ–‰,3์—ด์˜ ๋ฐฐ์—ด์ด ๋งŒ๋“ค์–ด์ง„๋‹ค. (0,0) (0,1) (0,2) (1,0) (1,1) (1,2) ์ด ๋•Œ, ์Šคํƒ์˜์—ญ์—๋Š” scores๋ณ€์ˆ˜๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ํž™ ์˜์—ญ์— int ํƒ€์ž… ๋ฐฐ์—ด A, int ํƒ€์ž… ๋ฐฐ์—ด B, int ํƒ€์ž… ๋ฐฐ์—ด C ์„ธ ๊ฐœ์˜ ๋ฐฐ์—ด๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. //๊ฐ๊ฐ์˜ ๊ธธ์ด๋Š” scores.lenght //2(A๊ธธ์ด) scores[0].lenght //3(B๊ธธ์ด) 0๋ฒˆ์งธ ํ–‰์˜ ๊ธธ์ด scores[1].lenght //3(C๊ธธ์ด) 1๋ฒˆ์งธ ํ–‰์˜ ๊ธธ์ด ์ž๋ฐ”๋Š” ์ผ์ฐจ์› ๋ฐฐ์—ด์ด ์„œ๋กœ ์—ฐ๊ฒฐ๋œ ๊ตฌ์กฐ๋กœ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์„ ๊ตฌํ˜„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณ„๋‹จ์‹ ๊ตฌ์กฐ..
JAVA - ๋ฐฐ์—ด 1 ๋ฐฐ์—ด ? ๊ฐ™์€ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์†๋œ ๊ณต๊ฐ„์— ๋‚˜์—ด์‹œํ‚ค๊ณ , ๊ฐ ๋ฐ์ดํ„ฐ์— ์ธ๋ฑ์Šค๋ฅผ ๋ถ€์—ฌํ•ด ๋†“์€ ์ž๋ฃŒ ๊ตฌ์กฐ * ๊ฐ™์€ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ * ํ•œ ๋ฒˆ ์ƒ์„ฑ๋œ ๋ฐฐ์—ด์€ ๊ธธ์ด๋ฅผ ๋Š˜์ด๊ฑฐ๋‚˜ ์ค„์ผ ์ˆ˜ ์—†๋‹ค. * ๋ฐฐ์—ด ๋ณ€์ˆ˜๋„ ์ฐธ์กฐ ๋ณ€์ˆ˜์— ์†ํ•˜๋ฏ€๋กœ ๋ฐฐ์—ด๊ฐ์ฒด๋Š” ํž™ ์˜์—ญ์— ์ƒ์„ฑ๋˜๊ณ  ๋ฐฐ์—ด ๋ณ€์ˆ˜๋Š” ํž™์˜์—ญ์˜ ๋ฐฐ์—ด ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ ๋ฐฐ์—ด ์„ ์–ธ โ“ ํƒ€์ž…[] ๋ณ€์ˆ˜; ex) int[] intArray; โ“‘ ํƒ€์ž… ๋ณ€์ˆ˜[]; ex) int intArray[]; ๋ฐฐ์—ด ์ƒ์„ฑ โ“ ๋ฐ์ดํ„ฐํƒ€์ž…[] ๋ณ€์ˆ˜ = {๊ฐ’0, ๊ฐ’1, ๊ฐ’2, ...}; //๋ฐฐ์—ด ์ธ๋ฑ์Šค๋Š” "0"๋ถ€ํ„ฐ ์‹œ์ž‘ํ•จ String[] name = {"๋ผํ‘ผ์ ค", "์‹ ๋ฐ๋ ๋ผ", "๋ฐฑ์„ค๊ณต์ฃผ"} ์—ฌ๊ธฐ์„œ "๋ผํ‘ผ์ ค"์€ name[0], ์‹ ๋ฐ๋ ๋ผ๋Š” name[1], ๋ฐฑ์„ค๊ณต์ฃผ๋Š” name[2] ์ด๋‹ค. ์‹ ๋ฐ๋ ๋ผ๋ฅผ..
jAVA - ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ถ„๋ฅ˜/๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ์˜์—ญ ์ž๋ฐ”์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… 1. ๊ธฐ๋ณธํƒ€์ž…(primitive type) : ์ •์ˆ˜(byte, char, short, int, long), ์‹ค์ˆ˜(float, double), ๋…ผ๋ฆฌ(boolean) 2. ์ฐธ์กฐํƒ€์ž…(reference type) : ๋ฐฐ์—ด, ์—ด๊ฑฐ, ํด๋ž˜์Šค, ์ธํ„ฐํŽ˜์ด์Šค >> ๊ฐ์ฒด์˜ ๋ฒˆ์ง€๋ฅผ ์ฐธ์กฐํ•˜๋Š” ํƒ€์ž… ๋‘ ํƒ€์ž…์˜ ์ฐจ์ด์  : ์ €์žฅ๋˜๋Š” ๊ฐ’ ๊ธฐ๋ณธํƒ€์ž…์€ ์‹ค์ œ ๊ฐ’์„ ๋ณ€์ˆ˜ ์•ˆ์— ์ €์žฅ ์ฐธ์กฐํƒ€์ž…์„ ์ด์šฉํ•ด ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ฒˆ์ง€๋ฅผ ๊ฐ’์œผ๋กœ ๊ฐ–๋Š”๋‹ค.(๋ฒˆ์ง€๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ) ๋ณ€์ˆ˜๋Š” ์Šคํƒ์˜์—ญ์— ์ƒ์„ฑ๋˜๊ณ , ๊ฐ์ฒด๋Š” ํž™ ์˜์—ญ์— ์ƒ์„ฑ๋˜๋Š”๋ฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ์ด๋ ‡๊ฒŒ ๋„ค ๊ฐœ์˜ ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋˜์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค๋ฉด, int age = 40; double price = 100.0; String name = "ํ™๊ธธ๋™" String hobby = "Game"..

๋ฐ˜์‘ํ˜•