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

TIL59

01/23(ํ™”) ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ Java 22์ผ์ฐจ TIL - List ๐Ÿ“– ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ LinkedList ArrayList ๐Ÿฅ” List ๋ž€? ๋ฐฐ์—ด๊ณผ ๊ฐ™์ด ๊ฐ์ฒด๋ฅผ 1์—ด๋กœ ๋Š˜์–ด๋†“์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ฐ์ฒด๋ฅผ ์ธ๋ฑ์Šค๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ธ๋ฑ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜๊ณ , ์ธ๋ฑ์Šค๋กœ ๊ฐ์ฒด๋ฅผ ์ถ”๊ฐ€, ๊ฒ€์ƒ‰, ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค๋Š” ArrayList, Vector, LinkedList, Stack ๋“ฑ์ด ์žˆ์ง€๋งŒ, ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์€ ArrayList, LinkedList๊ฐ€ ์žˆ๋‹ค. ๋ฆฌ์ŠคํŠธ์˜ ํŠน์ง• ์ˆœ์„œ๊ฐ€ ์žˆ๊ณ  ์ค‘๋ณต์„ ํ—ˆ์šฉ ์ธ๋ฑ์Šค๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅ ํฌ๊ธฐ๊ฐ€ ๊ฐ€๋ณ€์  ๐Ÿฅ” List ์ธํ„ฐํŽ˜์ด์Šค List ์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”์„œ๋“œ add(int index, Object element) - ์ฃผ์–ด์ง„ ์ธ๋ฑ.. 2024. 1. 23.
01/22(์›”) ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ Java 21์ผ์ฐจ TIL - Path Variable, Request Param ๐Ÿ“– ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ Path Variable Request Param ๐Ÿฅ” Path Variable ๐ŸŒ GET http://localhost:8080/hello/request/star/Potato/age/98 ์„œ๋ฒ„์— ๋ณด๋‚ด๋ ค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ URL ๊ฒฝ๋กœ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. /star/potato/age/98 'potato'์™€ '98' ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์— ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด URL ๊ฒฝ๋กœ์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. // [Request sample] // GET http://localhost:8080/hello/request/star/potato/age/98 @GetMapping("/star/{name}/age/{age}") @ResponseBody public String helloRequestPath(@PathVariable.. 2024. 1. 22.
01/19(๊ธˆ) ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ Java 20์ผ์ฐจ TIL - this ๐Ÿ“– ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ this ๐Ÿฅ” this ๋ž€ Java์—์„œ this๋Š” ์ธ์Šคํ„ด์Šค ์ž๊ธฐ ์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ํ‚ค์›Œ๋“œ์ž…๋‹ˆ๋‹ค. this๋ฅผ ํ†ตํ•ด ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ๋ฐ ์ƒ์„ฑ์ž์—์„œ ์ž๊ธฐ ์ž์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. this๋Š” ํด๋ž˜์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค โ—๏ธ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ์™€ ์ธ์Šคํ„ด์Šค ์ž์ฒด๋Š” ๋‹ค๋ฆ„ ๐Ÿฅ” this ํŠน์ง• ๊ฐ์ฒด ์ž์‹ ์˜ ์ฐธ์กฐ๊ฐ’์„ ๊ฐ€์ง„๋‹ค. ๋ฉ”์„œ๋“œ ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉ๋œ๋‹ค. ๊ฐ์ฒด ์ž์‹ ์„ ๋ฉ”์„œ๋“œ์— ์ „๋‹ฌ, ๋ฆฌํ„ดํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ๋งค๊ฐœ ๋ณ€์ˆ˜์™€ ๊ฐ์ฒด ์ž์‹ ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์ด ๊ฐ™์€ ๊ฒฝ์šฐ, ์ด๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด ์ž์‹ ์˜ ๋ณ€์ˆ˜์— this๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. public class Test { private int num; public int getNum() { return.. 2024. 1. 19.
01/18(๋ชฉ) ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ Java 19์ผ์ฐจ TIL - MVC ๐Ÿ“– ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ MVC ๋””์ž์ธ ํŒจํ„ด ๐Ÿฅ” MVC ๋””์ž์ธ ํŒจํ„ด MVC๋ž€ Model-View-Controller์˜ ์•ฝ์ž๋กœ, ์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. MVC ํŒจํ„ด์€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ๋“ค์„ Model, View, Controller๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ฐ๊ฐ์˜ ์—ญํ• ์„ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค. Model ๋ฐ์ดํ„ฐ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๋™ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. View ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๋™ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. Controller Model๊ณผ View ์‚ฌ์ด์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์กฐ์ •ํ•˜๊ณ  ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›์•„ Model์— ์ „๋‹ฌํ•˜๊ณ , Model์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ View๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. .. 2024. 1. 18.
01/17(์ˆ˜) ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ Java 18์ผ์ฐจ TIL - ์“ฐ๋ ˆ๋“œ ๐Ÿ“– ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ ์“ฐ๋ ˆ๋“œ ํ”„๋กœ์„ธ์Šค ๐Ÿฅ” ํ”„๋กœ์„ธ์Šค์™€ ์“ฐ๋ ˆ๋“œ ํ”„๋กœ์„ธ์Šค : ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ์ž์›์„ ํ• ๋‹น๋ฐ›๋Š” ์ž‘์—…์˜ ๋‹จ์œ„ ์“ฐ๋ ˆ๋“œ : ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋ฐ›์€ ์ž์›์„ ์ด์šฉํ•˜๋Š” ์‹คํ–‰์˜ ๋‹จ์œ„ ๐Ÿฅ” ํ”„๋กœ์„ธ์Šค ํ”„๋กœ์„ธ์Šค๋Š” "์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ"์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋กœ ์šฐ๋ฆฌ๊ฐ€ Java ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ค๋ฉด ์ด ํ”„๋กœ๊ทธ๋žจ์€ ํ”„๋กœ์„ธ์Šค๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์šด์˜์ฒด์ œ ์œ„์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, OS ์œ„์—์„œ ์‹คํ–‰๋˜๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์€ OS๊ฐ€ ๋งŒ๋“ค์–ด์ค€ ํ”„๋กœ์„ธ์Šค์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๐Ÿฅ” ์“ฐ๋ ˆ๋“œ ์“ฐ๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์ผํ•˜๋Š” ์ผ๊พผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘์—… ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‹คํ–‰์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ์“ฐ๋ ˆ๋“œ๋ฅผ ๋งŒ๋“ค์–ด ๋ช…๋ น์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿฅ” ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ Java๋Š” ๋ฉ”์ธ ์“ฐ๋ ˆ๋“œ๊ฐ€ main() ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚ค๋ฉด์„œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. - ๋ฉ”์ธ ์“ฐ๋ ˆ๋“œ๋Š” ํ•„์š”์— ๋”ฐ.. 2024. 1. 17.
01/16(ํ™”) ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ Java 17์ผ์ฐจ TIL - ๋žŒ๋‹ค(Lambda) ๐Ÿ“– ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ ๋žŒ๋‹คํ•จ์ˆ˜ ๐Ÿฅ” Lambda ๋žŒ๋‹คํ•จ์ˆ˜๋ž€ ๋žŒ๋‹ค ํ•จ์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ฐœ๋…์œผ๋กœ ์ต๋ช… ํ•จ์ˆ˜๋ฅผ ์ง€์นญํ•˜๋Š” ์šฉ์–ด์ž…๋‹ˆ๋‹ค. ์ต๋ช… ํ•จ์ˆ˜๋ž€ ๋ง ๊ทธ๋Œ€๋กœ ์ด๋ฆ„์ด ์—†๋Š” ํ•จ์ˆ˜๋ฅผ ๋œปํ•˜๋ฉฐ, ์ผ๊ธ‰ ๊ฐ์ฒด๋กœ ์ทจ๊ธ‰๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์‚ฌ์šฉ๋˜๋Š” ๋žŒ๋‹ค์˜ ๊ทผ๊ฐ„์€ ์ˆ˜ํ•™๊ณผ ๊ธฐ์ดˆ ์ปดํ“จํ„ฐ๊ณผ๋ฝ ๋ถ„์•ผ์—์„œ์˜ ๋žŒ๋‹ค ๋Œ€์ˆ˜์ž…๋‹ˆ๋‹ค. ๋žŒ๋‹ค ๋Œ€์ˆ˜๋Š” ์ˆ˜ํ•™์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ณด๋‹ค ๋‹จ์ˆœํžˆ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๐Ÿฅ” ๋žŒ๋‹ค ๋ฌธ๋ฒ• // ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌธ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. (ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’, ...) -> { ํ•จ์ˆ˜ ๋ชธ์ฒด } // ์•„๋ž˜์˜ ํ•จ์ˆ˜ ๋‘๊ฐœ๋Š” ๊ฐ™์€ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. // ์ด๋ฆ„ ๋ฐ˜ํ™˜ํƒ€์ž…, return๋ฌธ ์—ฌ๋ถ€์— ๋”ฐ๋ผ {}๊นŒ์ง€๋„ ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. public int toLambdaMethod(int x, int y) { return x + y; } (x, y.. 2024. 1. 16.