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

๐Ÿ‘ฉ‍๐Ÿ’ปTIL/JAVA6

[์ž๋ฐ”/JAVA] toString()๊ณผ String.valueOf()์˜ ์ฐจ์ด์  ๋น„๊ต [Java] toString()๊ณผ String.valueOf()์˜ ์ฐจ์ด ๋น„๊ต Object ํ˜•ํƒœ์˜ ๊ฐ’์„ String ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด toString() ํ˜น์€ String.valueOf() ๋ฉ”์†Œ๋“œ์ด๋‹ค. ๋‘ ๋ฉ”์†Œ๋“œ ๋ชจ๋‘ ๊ฐ’์„ String์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค๋Š” ์ ์—์„œ ๋น„์Šทํ•˜์ง€๋งŒ, ๋ณ€๊ฒฝํ•˜๊ณ ์ž ํ•˜๋Š” Object๊ฐ€ null์ธ ๊ฒฝ์šฐ์—๋Š” ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. ๐Ÿ’ก Object๊ฐ€ null์ผ๋•Œ? toString() - Null PointerException(NPE)์„ ๋ฐœ์ƒ - ๋Œ€์ƒ ๊ฐ’์ด null์ด๋ฉด NPE๋ฅผ ๋ฐœ์ƒ -> Object์— ๋‹ด๊ธด ๊ฐ’์ด String์ด ์•„๋‹ˆ์—ฌ๋„ ์ถœ๋ ฅ String.valueOf() - "null"์ด๋ผ๋Š” ๋ฌธ์ž์—ด๋กœ ์ฒ˜๋ฆฌ - ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ null์ด๋ฉด ๋ฌธ์ž์—ด "null"์„ ๋งŒ๋“ค์–ด์„œ ๋ฐ˜ํ™˜ํ•œ๋‹ค-> ํ•ญ์ƒ Stri.. 2020. 5. 8.
[์ž๋ฐ”/JAVA ] ์ž๋ฐ”์—์„œ ์„ธ์…˜(Session) ์‚ฌ์šฉ๋ฒ• ๊ฐ„๋‹จ์ •๋ฆฌ ์ž๋ฐ”์—์„œ ์„ธ์…˜(Session)์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• - ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋งŒ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌ ๐Ÿ’ก ์„ธ์…˜๊ฐ’ ์„ค์ •ํ•˜๊ธฐ session.setAttribute("์„ค์ •ํ•œ ์„ธ์…˜์•„์ด๋””", ์„ธ์…˜์— ๋„ฃ์„ ๊ฐ’); session.setAttribute("user_id", user_id); ๐Ÿ’ก ์„ธ์…˜์œ ์ง€์‹œ๊ฐ„ ์„ค์ •ํ•˜๊ธฐ(์ดˆ ๋‹จ์œ„) session.setMaxInactiveInterval(30*60); // 60๋ถ„๋™์•ˆ ์„ธ์…˜์„ ์œ ์ง€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, 60 * 60์œผ๋กœ ์„ค์ • session.setMaxInactiveInterval(-1); // ์„ธ์…˜์˜ ์‹œ๊ฐ„์„ ๋ฌดํ•œ๋Œ€๋กœ ์„ค์ • ๐Ÿ’ก ์„ธ์…˜์— ์ €์žฅ๋œ ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ session.getAttribute("user_id"); ๐Ÿ’ก ์„ธ์…˜๊ฐ’ ์‚ญ์ œ session.removeAttribute("user_id"); se.. 2020. 5. 7.
[JUnit] JUnit์„ ์ด์šฉํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ+๋‹จ์ •(assert)๋ฉ”์†Œ๋“œ ์ •๋ฆฌ [JUnit] JUnit์„ ์ด์šฉํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ+๋‹จ์ •(assert)๋ฉ”์†Œ๋“œ ์ •๋ฆฌ ๋‹จ์œ„ํ…Œ์ŠคํŠธ์˜ ์ค‘์š”์„ฑ์„ ์•Œ๊ณ  ์žˆ์—ˆ์ง€๋งŒ, ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ด์œ (ํ•‘๊ณ„)๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋˜ ์ค‘ ์–ผ๋งˆ์ „๋ถ€ํ„ฐ jUnit์„ ์ด์šฉํ•œ ๋‹จ์œ„ํ…Œ์ŠคํŠธ ๋ฐฉ์‹์˜ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์–ด ์ €์™€ ๊ฐ™์ด ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ์ฒ˜์Œ ์งœ๋ณด๋Š” ๋ถ„๋“ค์„ ์œ„ํ•ด ๊ด€๋ จ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. 1. JUnit์ด๋ž€? ๐Ÿ’ก ์ž๋ฐ”์šฉ ๋‹จ์œ„ํ…Œ์ŠคํŠธ(Unit Test) ๋„๊ตฌ ์ž…๋‹ˆ๋‹ค. 2. ๋‹จ์œ„ํ…Œ์ŠคํŠธ(Unit Test)๋ž€? - ์†Œ์Šค์ฝ”๋“œ์˜ ํŠน์ • ๋ชจ๋“ˆ์ด ์˜๋„๋œ ๋Œ€๋กœ ์ •ํ™•ํžˆ ์ž‘๋™ํ•˜๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ์ ˆ์ฐจ์ž…๋‹ˆ๋‹ค. - ๋ชจ๋“  ํ•จ์ˆ˜์™€ ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค(Test case)๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. (๋‹จ์œ„ํ…Œ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด System.out์œผ๋กœ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์šด ๋””๋ฒ„๊น…์ด ํ•„์š”์—†์Šต๋‹ˆ๋‹ค.) 3. j.. 2020. 3. 27.
[์ž๋ฐ”(JAVA) ๊ฐœ๋…] ํด๋ž˜์Šค(class) ์„ ์–ธ๋ฐฉ๋ฒ• / ํ•„๋“œ / ์ƒ์„ฑ์ž ํด๋ž˜์Šค๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์  ์–ธ์–ด๋กœ ํ‘œํ˜„ํ•˜์ž๋ฉด โ€˜์–ด๋– ํ•œ ๊ฐ์ฒด์˜ ๋ณ€์ˆ˜(valiable) , ๋ฉ”์†Œ๋“œ(method) ์˜ ์ง‘ํ•ฉ์ด๋‹คโ€™๋ผ๊ณ  ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ˜„์‹ค์„ธ๊ณ„์— ๋น—๋Œ€์–ด ๋งํ•˜์ž๋ฉด ๋™์ผํ•œ ์†์„ฑ๊ณผ ํ–‰์œ„๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฐ์ฒด์˜ ์ง‘ํ•ฉ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ํด๋ž˜์Šค๋Š” ์–ด๋–ป๊ฒŒ ์„ ์–ธํ•˜๋Š”๊ฐ€? 1. ํด๋ž˜์Šค ์ž‘์„ฑ ๊ทœ์น™ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค.. ์ฒซ ๋ฒˆ์งธ ๊ธ€์ž์—๋Š” ์ˆซ์ž๊ฐ€ ์˜ฌ ์ˆ˜ ์—†๋‹ค. $,_ ์™ธ์—๋Š” ํŠน์ˆ˜๋ฌธ์ž ์‚ฌ์šฉ๋ถˆ๊ฐ€ ($port (o), c@r(x)) ์ž๋ฐ” ๋ช…๋ น์–ด, ํ‚ค์›Œ๋“œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.(while, for, int ๋“ฑ ์‚ฌ์šฉ๋ถˆ๊ฐ€) ์ด๋ฆ„์€ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค.(๋ณดํ†ต, ์ฒซ๋ฒˆ์งธ ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑ) 2. ์„ ์–ธ๋ฐฉ๋ฒ• ํด๋ž˜์Šค ๋ณ€์ˆ˜์˜ ์„ ์–ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ํด๋ž˜์Šค๋ช… ์„ ์–ธํ•  ๋ณ€์ˆ˜๋ช…; ๋ณ€์ˆ˜๋ช… = new ํด๋ž˜์Šค(); Product p;.. 2019. 12. 1.
[์ž๋ฐ”(JAVA) ๊ฐœ๋…]- ๊ฐ์ฒด / ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŠน์ง• ์ž๋ฐ”๋Š” ๋Œ€ํ‘œ์ ์ธ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (OOP: Object Oriented Programming)์–ธ์–ด์ด๋‹ค. ์—ฌ๊ธฐ์„œ, ๊ฐ์ฒด๋ž€ ๋ฌด์—‡์ผ๊นŒ? ๊ฐ์ฒด(Object)๋ž€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์กด์žฌํ•˜๊ฑฐ๋‚˜ ์ถ”์ƒ์ ์œผ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ์ค‘์—์„œ ์ž์‹ ๊ณผ ๋‹ค๋ฅธ ๊ฒƒ์„ ์‹๋ณ„๊ฐ€๋Šฅํ•œ ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ์‚ฌ๋žŒ, ์ฑ…, ์ž๋™์ฐจ, ์ปดํ“จํ„ฐ ๋“ฑ ๊ณผ ์ถ”์ƒ์ ์ธ ํ•™๊ณผ, ๊ฐ•์˜, ์ฃผ๋ฌธ ๋“ฑ์ด ๋ชจ๋‘ ๊ฐ์ฒด๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ์ฒด๋Š” ํฌ๊ฒŒ ์†์„ฑ ๊ณผ ๋™์ž‘์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์‚ฌ๋žŒ๊ณผ ์ž๋™์ฐจ๋ฅผ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด๋ฉด, -์‚ฌ๋žŒ์˜ ์†์„ฑ : ์ด๋ฆ„, ๋‚˜์ด ๋“ฑ -์‚ฌ๋žŒ์˜ ๋™์ž‘ : ๋งํ•˜๋‹ค, ๊ฑท๋‹ค, ์›ƒ๋‹ค ๋“ฑ -์ž๋™์ฐจ์˜ ์†์„ฑ : ์ƒ‰์ƒ, ๋ชจ๋ธ๋ช… ๋“ฑ -์ž๋™์ฐจ์˜ ๋™์ž‘ : ๋‹ฌ๋ฆฐ๋‹ค. ๋ฉˆ์ถ˜๋‹ค ๋“ฑ ๊ณผ ๊ฐ™๋‹ค. ์ž๋ฐ”์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ํ•„๋“œ(field), ๋™์ž‘์„ ๋ฉ”์†Œ๋“œ(me.. 2019. 12. 1.
[JAVA / ์ž๋ฐ”] HELLO, WORLD! ์ž๋ฐ”๋ž€ ๋ฌด์—‡์ผ๊นŒ? HELLO, WORLD! ์ž๋ฐ”(Java)๋Š” ๋Œ€ํ‘œ์ ์ธ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ค‘ ํ•˜๋‚˜๋กœ ์ฌ ๋งˆ์ดํฌ๋กœ์‹œ์Šคํ…œ์ฆˆ์—์„œ ์ฒ˜์Œ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๊ธฐ์˜ ์ž๋ฐ”๋Š” ๊ฐ€์ „ ์ œํ’ˆ์— ํƒ‘์žฌํ•  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์ง€๋งŒ, ์ง€๊ธˆ์€ ์Šค๋งˆํŠธํฐ์„ ๋น„๋กฏ, ๊ฐ์ข… ์žฅ๋น„์™€ ๋ฐ์Šคํฌํ†ฑ์—์„œ ์‹คํ–‰๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ์ค‘์ถ”์ ์ธ ์–ธ์–ด๋กœ ์ž๋ฆฌ๋งค๊น€ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ ๋“ฑ ์—ฌ๋Ÿฌ ์–ธ์–ด๊ฐ€ ๋œจ๊ณ  ์žˆ์ง€๋งŒ..์—ฌ์ „ํžˆ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด ! ์ž๋ฐ”๋Š” ์œ ๋‹‰์Šค ๊ธฐ๋ฐ˜์˜ ๋ฐฐ๊ฒฝ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, C++์˜ ์กฐ์ƒ์ธ C์–ธ์–ด์™€ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. ์ž๋ฐ”๋ฅผ ๋‹ค๋ฅธ ์ปดํŒŒ์ผ ์–ธ์–ด์™€ ๊ตฌ๋ถ„ ์ง“๋Š” ๊ฐ€์žฅ ํฐ ํŠน์ง•์€ ์ปดํŒŒ์ผ๋œ ์ฝ”๋“œ๊ฐ€ ํ”Œ๋žซํผ์— ๋…๋ฆฝ์ ์ด๋ผ๋Š” ์ ! ์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ž๋ฐ” ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ผ๋Š” ํŠน์ˆ˜ํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” JVM(์ž๋ฐ” ๊ฐ€์ƒ .. 2019. 12. 1.