๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ384 [Java] HashMap vs TreeMap vs LinkedHashMap, ์ด๋ค ์ํฉ์์ ์จ์ผ ํ ๊น? ๋ชฉ์ฐจ ์ง๊ธ๊น์ง List์ Set์ ๊ตฌํ์ฒด๋ค์ ์ดํด๋ดค๋ค๋ฉด, ์ด์ Key-Value ๊ตฌ์กฐ์ Map ์ธํฐํ์ด์ค ๊ตฌํ์ฒด๋ค์ ๋น๊ตํด ๋ณผ ์ฐจ๋ก์ ๋๋ค.Map์ ๋ฐ์ดํฐ๋ฅผ ํค-๊ฐ ์์ผ๋ก ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ๋ก, ๋น ๋ฅธ ๊ฒ์๊ณผ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ํ์์ ์ ๋๋ค. ์ด๋ฒ ๊ธ์์๋ Java Map ์ธํฐํ์ด์ค์ ๊ธฐ๋ณธ ๊ฐ๋ ๋ถํฐ, ๋ํ ๊ตฌํ์ฒด์ธ HashMap, TreeMap, LinkedHashMap์ ํน์ง๊ณผ ์ฑ๋ฅ์ ํ๋์ ๋น๊ตํด๋ณด๊ฒ ์ต๋๋ค.๐๏ธ Map ์ธํฐํ์ด์ค๋?Map์ Key-Value ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ๋ก, Key๋ ์ค๋ณต์ด ๋ถ๊ฐ๋ฅํ๋ฉฐ Value๋ ์ค๋ณต์ด ๊ฐ๋ฅํฉ๋๋ค.Map map = new HashMap();map.put("Apple", 1000); // Key: "Apple", Value: 1000map.pu.. 2025. 6. 11. [DevCourse] ์์ฑํ AI ํ์ฉ ๋ฐฑ์๋ ๋ฐ๋ธ์ฝ์ค 44์ผ์ฐจ ์ค๋์ ์น ๊ฐ๋ฐ์์ ๊ฐ์ฅ ์ค์ํ MVC(Model2) ๋ฐฉ์์ ์ฌํ ํ์ตํ๋ฉฐ,์น ํ๋ก๊ทธ๋๋ฐ์ ํฐ ๊ทธ๋ฆผ์ ๋ง๋ฌด๋ฆฌํ๋ ์๊ฐ์ ๊ฐ์ก๋ค.Servlet๊ณผ JSP์ ์ญํ ์ ๋ถ๋ฆฌํด ์ ์ง๋ณด์์ฑ๊ณผ ๋ชจ๋ํ๋ฅผ ๋์ด๋ MVC ๊ตฌ์กฐ๋ฅผ ์์ ์ฝ๋๋ก ์ง์ ์ค์ตํด ๋ณด๋ฉด์,์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ด๋ป๊ฒ ํจ์จ์ ์ผ๋ก ๋์ํ๋์ง ๋ชธ์ผ๋ก ์ตํ ์ ์์๋ค. ๋ํ ์์ผ๋ก ๋ฐฐ์ธ ์คํ๋ง ํ๋ ์์ํฌ์ ๋ํด ๊ฐ๋จํ ์ ํด๋ณด๋ฉฐ, ์์ผ๋ก ๋ฐฐ์ธ ๋ด์ฉ์ด ๊ธฐ๋๋๋ ์์ ์ด์๋ค.๐ ์ค๋ ๋ฐฐ์ด ๋ด์ฉ ์ ๋ฆฌ๐ท MVC(Model2) ๊ตฌ์กฐ์ ๊ตฌํ ํ๋ฆController(Servlet)๋ ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ์ ์ ์ ํ Model์ ํธ์ถํ๊ณ , View(JSP)๋ Model์์ ์ฒ๋ฆฌ๋ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ๊ตฌ์กฐ๋ก์น ๊ฐ๋ฐ์์ ํจ์จ์ ์ธ ํ์ ๊ณผ ์ ์ง๋ณด์๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ค๋ ๊ฑธ ๋ฐฐ์ ๋ค. Contro.. 2025. 6. 10. [DevCourse] ์์ฑํ AI ํ์ฉ ๋ฐฑ์๋ ๋ฐ๋ธ์ฝ์ค 43์ผ์ฐจ ์ค๋์ JSP์์ ์์ฃผ ์ฌ์ฉ๋๋ ๋ด์ฅ ๊ฐ์ฒด์ ์ก์ ํ๊ทธ, ๊ทธ๋ฆฌ๊ณ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์กฐ์ ์ผ๋ก ์ค๊ณํ๋ ๋ฐ ์ค์ํ MVC(Model2) ๊ฐ๋ ๊น์ง ๋ฐฐ์ฐ๋ฉฐ, ์น ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์ธต ๋ ๋ค์ง ์ ์์๋ค.ํนํ ์ค์ ์์ ์ฝ๋๋ฅผ ์ง์ ์คํํด ๋ณด๋ฉด์ ๊ฐ ๊ฐ๋ ์ด ์ด๋ป๊ฒ ๋์ํ๋์ง ์กฐ๊ธ์ฉ ์ดํด๊ฐ ๋์๋ค.๐ ์ค๋ ๋ฐฐ์ด ๋ด์ฉ ์ ๋ฆฌ๐ท ๋ด์ฅ ๊ฐ์ฒด (request, response, out, session, application)JSP์์ ์ ๊ณตํ๋ ๋ด์ฅ ๊ฐ์ฒด๋ค์ ํน์ง๊ณผ ์ฌ์ฉ๋ฒ์ ํ์ตํ๋ค.request ๊ฐ์ฒด๋ก ํด๋ผ์ด์ธํธ ์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ , response ๊ฐ์ฒด๋ก ์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก ์๋ต์ ๋ฐํํ๋ ๋ฐฉ๋ฒ์ ์ฐ์ตํ๋ค. ๋ํ out ๊ฐ์ฒด๋ก HTML ์ถ๋ ฅ์ ๋ด๋นํ๊ณ , session ๊ฐ์ฒด๋ก ์ฌ์ฉ์๋ณ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ, appl.. 2025. 6. 10. [DevCourse] ์์ฑํ AI ํ์ฉ ๋ฐฑ์๋ ๋ฐ๋ธ์ฝ์ค 42์ผ์ฐจ ์ค๋์ ์น ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ ๊ฐ๋ ์ ๋ ๊น๊ฒ ๋ฐฐ์ฐ๋ฉด์Servlet์ ๊ธฐ๋ฅ ์ํ ๊ณผ์ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋, ๊ทธ๋ฆฌ๊ณ JSP์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๊น์ง ํญ๋๊ฒ ํ์ตํ๋ค.ํนํ JSP๋ ์ด๋ฆ๋ง ๋ค์ด๋ดค๋ ๊ฐ๋ ์ด์๋๋ฐ, ์ค๋ ์์ ์ ํตํด ์ค์ ๋ก ์ด๋ป๊ฒ ๋์ํ๋์ง ์กฐ๊ธ์ฉ ์ดํดํ ์ ์์๋ค. ๐ ์ค๋ ๋ฐฐ์ด ๋ด์ฉ ์ ๋ฆฌ๐ท Servlet ๊ธฐ๋ฅ ์ํ ๊ณผ์ ์๋ธ๋ฆฟ์ด ํด๋ผ์ด์ธํธ ์์ฒญ์ ๋ฐ์ ์ฒ๋ฆฌํ๋ ๊ณผ์ ์ ๋ค์ ์ดํด๋ดค๋ค.์์ฒญ ํ๋ผ๋ฏธํฐ๋ HttpServletRequest ๊ฐ์ฒด๋ก ๋ฐ๊ณ ,์๋ต์ HttpServletResponse ๊ฐ์ฒด๋ก ์ฒ๋ฆฌํ๋ฉฐ setContentType()์ผ๋ก MIME ํ์ ์ ์ง์ ํ๊ณ ์๋ฐ I/O๋ก ์ถ๋ ฅํ๋ ํ๋ฆ์ ์ค์ตํ๋ค.๋ํ GET ๋ฐฉ์๊ณผ POST ๋ฐฉ์์ ์ฐจ์ด๋ฅผ ๋ค์ ๋ณต์ตํ๋ฉฐ,ํผ ๋ฐ์ดํฐ ์ ์ก ์ name, method, a.. 2025. 6. 10. [DevCourse] ์์ฑํ AI ํ์ฉ ๋ฐฑ์๋ ๋ฐ๋ธ์ฝ์ค 41์ผ์ฐจ ์ค๋์ ์๋ธ๋ฆฟ์ ๊ธฐ์ด ๊ฐ๋ ์ ๋ฐฐ์ฐ๊ณ , ์ค์ ๋ก ์ค๋ผํด ์๋ฒ์ ์ฐ๋ํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํด ๋ณด๋ ํ ์คํธ๊น์ง ์งํํด ๋ณด์๋ค. ๊ทธ๋์ ๊ฐ๋ ์ผ๋ก๋ง ์๊ณ ์๋ ์น ์๋ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ ๋ฐฉ์์ ์ง์ ์ค์ตํด ๋ณด๋ฉด์ ํ์ธต ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ดํดํ ์ ์์๋ ์๊ฐ์ด์๋ค.๐ ์ค๋ ๋ฐฐ์ด ๋ด์ฉ ์ ๋ฆฌ๐ท ์๋ธ๋ฆฟ ๊ธฐ์ด์๋ธ๋ฆฟ์ ๋ง๋ค๊ธฐ ์ํด HttpServlet์ ์์๋ฐ๊ณ , doGet()์ด๋ doPost() ๋ฉ์๋๋ฅผ ๋ฐ๋์ ์ค๋ฒ๋ผ์ด๋ฉํด์ผ ํ๋ค๋ ์ ์ ๋ฐฐ์ ๋ค.์๋ธ๋ฆฟ ๋งคํ์ ์ํด web.xml ํ์ผ์ , ํ๊ทธ๋ฅผ ์ฌ์ฉํด URL ํจํด์ ์ง์ ํ๋ ๋ฐฉ๋ฒ๋ ํจ๊ป ์ตํ๋ค. ๐ถ ์์ฒญ/์๋ต ์ฒ๋ฆฌ์ GET/POST ๋ฐฉ์์๋ธ๋ฆฟ์์ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ์ ์ฒ๋ฆฌํ๊ณ ์๋ต์ ๋ฐํํ๋ ํ๋ฆ์ ํ์ตํ๋ค. ํนํ getParameter(), getParam.. 2025. 6. 4. [Java] ArrayList vs LinkedList, HashSet vs TreeSet ๋น๊ต ๋ชฉ์ฐจ ์ปฌ๋ ์ ํ๋ ์์ํฌ์ ์ธํฐํ์ด์ค๋ฅผ ์ดํดํ๋ค๋ฉด, ์ด์ ์ค์ ๊ตฌํ์ฒด๋ค์ ์ฐจ์ด๋ฅผ ์ดํด๋ณผ ์ฐจ๋ก์ ๋๋ค.๊ฐ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋๋ผ๋ ๋ด๋ถ ๊ตฌ์กฐ์ ์ฑ๋ฅ ํน์ฑ์ด ์์ ํ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ํฉ์ ๋ง๋ ์ ํ์ด ์ ๋ง ์ค์ํ์ฃ . ์ด๋ฒ ๊ธ์์๋ List์ ๋ํ ๊ตฌํ์ฒด์ธ ArrayList์ LinkedList, Set์ ๋ํ ๊ตฌํ์ฒด์ธ HashSet๊ณผ TreeSet์ ํน์ง๊ณผ ์ฑ๋ฅ์ ์์ ์ฝ๋์ ํจ๊ป ๋น๊ตํด ๋ณด๊ฒ ์ต๋๋ค.๐ฆ ArrayList vs LinkedListArrayListArrayList๋ ๋์ ๋ฐฐ์ด(Dynamic Array) ๊ตฌ์กฐ๋ก, ๋ด๋ถ์ ์ผ๋ก Object ๋ฐฐ์ด์ ์ฌ์ฉํด ์์๋ฅผ ์ ์ฅํฉ๋๋ค.List arrayList = new ArrayList();arrayList.add("Apple"); // ์ธ๋ฑ์ค 0array.. 2025. 6. 4. ์ด์ 1 2 3 4 5 6 ยทยทยท 64 ๋ค์ ๋ฐ์ํ