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

etc3

java OOP ๊ธฐ๋ณธ ๊ฐœ๋… 1. ํด๋ž˜์Šค(Class)์ •์˜: ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ฒญ์‚ฌ์ง„(์„ค๊ณ„๋„)์ด๋‹ค. ์ž๋ฐ”์—์„œ ๋ชจ๋“  ๊ฐ์ฒด๋Š” ํด๋ž˜์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค.์—ญํ• : ํด๋ž˜์Šค๋Š” ์†์„ฑ(ํ•„๋“œ)๊ณผ ๋™์ž‘(๋ฉ”์„œ๋“œ)์„ ์ •์˜ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Car ํด๋ž˜์Šค๋Š” ์ž๋™์ฐจ์˜ ์†์„ฑ(์˜ˆ: ์ƒ‰์ƒ, ์†๋„)๊ณผ ๋™์ž‘(์˜ˆ: ๊ฐ€์†, ๋ธŒ๋ ˆ์ดํฌ)์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.2. ๊ฐ์ฒด(Object)์ •์˜: ๊ฐ์ฒด๋Š” ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค์ด๋‹ค. ํด๋ž˜์Šค๊ฐ€ ์„ค๊ณ„๋„๋ผ๋ฉด, ๊ฐ์ฒด๋Š” ๊ทธ ์„ค๊ณ„๋„๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์‹ค์ œ ๋ฌผ์ฒด์ด๋‹ค.์—ญํ• : ๊ฐ์ฒด๋Š” ํด๋ž˜์Šค์—์„œ ์ •์˜๋œ ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์‹ค์ œ๋กœ ๋ฉ”๋ชจ๋ฆฌ์ƒ์—์„œ ์กด์žฌํ•˜๋ฉฐ ๋™์ž‘ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐ์ฒด๊ฐ€ ๋™์ผํ•œ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค.3. ์บก์Аํ™”(Encapsulation)์ •์˜: ์บก์Аํ™”๋Š” ๊ฐ์ฒด์˜ ๋‚ด๋ถ€ ์ƒํƒœ(ํ•„๋“œ)๋ฅผ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ์ˆจ๊ธฐ๊ณ , ํ•ด๋‹น ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝ.. 2024. 8. 21.
๐Ÿ’ซ๋žŒ๋‹ค์‹ & Stream API 1. ๋žŒ๋‹ค์‹ (Lambda Expression)๋žŒ๋‹ค์‹์€ ์ž๋ฐ” 8์—์„œ ๋„์ž…๋œ ๊ธฐ๋Šฅ์œผ๋กœ, ์ฝ”๋“œ๋ฅผ ๋” ๊ฐ„๊ฒฐํ•˜๊ณ  ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ค€๋‹ค. ๊ธฐ์กด์—๋Š” ์ต๋ช… ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ–ˆ์ง€๋งŒ, ๋žŒ๋‹ค์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ฅผ ํ›จ์”ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.1.1 ๋žŒ๋‹ค์‹์˜ ๋ฌธ๋ฒ•๋žŒ๋‹ค์‹์€ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก๊ณผ ํ™”์‚ดํ‘œ(->), ๊ทธ๋ฆฌ๊ณ  ์‹คํ–‰ํ•  ์ฝ”๋“œ๋ฅผ ํ•œ ์ค„๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์ž‘์„ฑํ•˜๊ฒŒ ๋œ๋‹ค:(parameters) -> expressionํ˜น์€ ์‹คํ–‰ํ•  ์ฝ”๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ์ค„์ด๋ผ๋ฉด ์ค‘๊ด„ํ˜ธ๋กœ ๋ฌถ์–ด์ค€๋‹ค: (parameters) -> { // ์—ฌ๋Ÿฌ ์ค„์˜ ์ฝ”๋“œ }๋žŒ๋‹ค์‹์€ ์ฃผ๋กœ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ๋‹ค. ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํ•˜๋‚˜์˜ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋งŒ ๊ฐ€์ง€๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋กœ, @FunctionalInterface ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ.. 2024. 8. 21.
java Collection ๐Ÿ‘ฉ‍๐Ÿ’ป  Java Collection์ด๋ž€?Java Collection Framework๋Š” ๊ฐ์ฒด์˜ ๊ทธ๋ฃน์„ ํ•˜๋‚˜๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ณต๋˜๋Š” ํด๋ž˜์Šค ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ง‘ํ•ฉ์ด๋‹ค.๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ, ๋ฐ์ดํ„ฐ์˜ ๋ชจ์Œ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด List, Set, Map ๋“ฑ๊ณผ ๊ฐ™์€ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋งํ•œ๋‹ค.โœ๏ธ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” Collection์˜ Interface ์™€ ClassList: ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ชจ์Œ. ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๋ฉฐ, ํŠน์ • ์œ„์น˜์˜ ์š”์†Œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.ArrayList: ๋ฐฐ์—ด ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„๋œ ๋ฆฌ์ŠคํŠธ๋กœ, ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•œ ๋น ๋ฅธ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์š”์†Œ๋ฅผ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ๋•Œ ๋น„์šฉ์ด ํฌ๋‹ค.LinkedList: ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ ๊ตฌ์กฐ๋กœ ๊ตฌํ˜„๋œ ๋ฆฌ์ŠคํŠธ๋กœ, ์š”์†Œ์˜ ์‚ฝ์ž… ๋ฐ ์‚ญ์ œ๊ฐ€ ๋น ๋ฅด.. 2024. 8. 21.