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. ์ด์ 1 ๋ค์