[D+70] Nested Class ๊ตญ๋น์ง์ D+70 - Nested Class - Nested Class ํด๋์ค๋ฅผ ํฌ๊ฒ ๋๊ฐ์ง๋ก ๋๋๋ค๋ฉด Outer Class์ Nested Class๊ฐ ์๋ค. Outer Class๋ ์ฐ๋ฆฌ๊ฐ ํ์์ ๋ฐฐ์์๋ ํด๋์ค๋ฅผ ์๋ฏธํ๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ์ ์ผ๋ก ์์์ผํ ๊ฒ์ ์๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๋ฒ์ Nested Class์ ๋ํด ํ์ตํ๊ณ ์ดํดํ๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด๋๋ก ํ๋ค. • Nested Class์ ์ฌ์ฉ ๋ชฉ์ - ์ธ๋ถ๋ก๋ถํฐ ํด๋์ค์ ์ ์(์กด์ฌ ์์ฒด)๋ฅผ ๊ฐ์ถ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค. - ๋ด๋ถ์ ์ผ๋ก ๊ตฌ์กฐ๊ฐ ๋ฐ๋์ด๋ ์ฌ์ฉ์์๊ฒ ์ํฅ์ด ๊ฐ์ง ์๋๋ค. - ์ฌ์ฉ์๊ฐ ๋ณด๊ธฐ ํธํ๋ค. (๋ณด๊ธฐ ํธํ๋ค๋ ๋ง์ ๊ด์ฌ์ด ์๋ค๋ ์๋ฏธํ๊ณ ๋ ๋ค๋ฅด๋ค.) • Nested Class class Outer// Outer Class { class Nested// N.. 2022. 12. 29. [D+69] ์๋ฒํ๋ก๊ทธ๋จ๊ตฌํ ๊ตญ๋น์ง์ D+69 - ์๋ฒํ๋ก๊ทธ๋จ๊ตฌํ - ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ • ๊ฐ๋ฐํ๊ฒฝ ์ค๋น ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ์ ์ดํด ๊ฐ๋ฐํ๊ฒฝ์ ๊ตฌ์ถํ๊ธฐ ์ํด์๋, ํ๋ก์ ํธ์ ๋ชฉ์ ๊ณผ ๊ตฌ์ถ ์ค๊ณ์ ๋ํ ๋ช ํํ ์ดํด๊ฐ ํ์ํ๋ฉฐ, ์ด์ ๋ง๋ ํ๋์จ์ด, ์ํํธ์จ์ด์ ์ ์ ์ด ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค. ๋ํ ๊ฐ๋ฐ์ ์ฌ์ฉ๋๋ ์ ํ๋ค์ ์ฑ๋ฅ๊ณผ ๋ผ์ด์ ์ค ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ ํธ์์ฑ ๋ฑ์ ๋ํ ๋ด์ฉ๋ ํ์ ํด์ผ ํ๋ค. ๊ฐ๋ฐ์ ์ํด ์ฌ์ฉ๋๋ ์ํํธ์จ์ด์ ์ข ๋ฅ์ ํน์ฑ - ๊ตฌํ ๋๊ตฌ : ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋๊ตฌ๋ก ์ฝ๋์ ์์ฑ ๋ฐ ํธ์ง, ๋๋ฒ๊น ๋ฑ๊ณผ ๊ฐ์ ๋ค์ํ ์์ ์ด ๊ฐ๋ฅํ๋ฉฐ Eclipse, Visual Studio Code, IntelliJ ๋ฑ์ด ์๋ค. - ํ ์คํธ ๋๊ตฌ : ์ํํธ์จ์ด์ ํ์ง์ ๋์ด๊ธฐ ์ํด ํ ์คํธ์ ์ฌ์ฉ๋๋ ์ํํธ์จ์ด ๋๊ตฌ๋ค๋ก xUnit, Sp.. 2022. 12. 28. [D+67] Generic๊ณผ ์์ผ๋์นด๋ ๋ณต์ต ๋ฐ ์ ๋ฆฌ ๊ตญ๋น์ง์ D+67 - Generic๊ณผ ์์ผ๋์นด๋ ๋ณต์ต ๋ฐ ์ ๋ฆฌ - Generic ์ง๊ธ๊น์ง๋ ํด๋์ค๋ ๋ฉ์๋๋ฅผ ๋ง๋ค๋์๋ ์ ์ด์ ํ์ ์ ๊ฒฐ์ ํด์ ์ํํธ์จ์ด๋ฅผ ๋ง๋๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํด์๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ฐ ๊ฒฝ์ฐ ํฐํ์ ๋ฒ์ด๋์ง ์์ผ๋ฉด์ ํ์ ๋ง ๋ค๋ฅธ ํ์์ ๋ฉ์๋๋ ํด๋์ค๊ฐ ์ฌ๋ฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ ๊ฐ ํ์ ์ ๋ฐ๋ผ์ ๋ฐ๋ก๋ฐ๋ก ์์ฑํด์ฃผ์ด์ผํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์์๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฌํ ๊ณ ๋ฏผ์ ํด๊ฒฐํ๊ณ ์ ์ฌ์ฉํ ๊ฒ์ด ๋ฐ๋ก ์ ๋ค๋ฆญ์ด๋ค. • Generic Programming ์ ๋ค๋ฆญ์ ์คํ์์ ์ ๋ช ํํ ๋ฐ์ดํฐํ์ ์ ๊ฒฐ์ ํ์ฌ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ ๋ฐฉ์์ผ๋ก ์ฌํ์ฉ์ฑ๊ณผ ์ ์ฐ์ฑ์ ๊ทน๋ํ ํ ์ ์๋ค. ์ฅ๋จ์ - ์ฅ์ : ๊ทธ๋ ๊ทธ๋ ๋ง๋ค์ด์ ์ํฉ์ ๋ฑ ๋ค์ด๋ง๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์๋ค. - ๋จ์ : ์ํฉ์ ๋ฑ ๋ค์ด๋ง๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ ์ ๋จผ์ ํํ์ .. 2022. 12. 23. [D+66] ์๋ฐํ๋ก๊ทธ๋๋ฐ8 (Queue, Stack, Deque, Map<K, V> ์ธํฐํ์ด์ค) ๊ตญ๋น์ง์ D+66 - ์๋ฐํ๋ก๊ทธ๋๋ฐ8 - Queue - FIFO : First In First Out - ์ธํฐํ์ด์ค๋ก Queue๋ฅผ ์ด์ํ๋ ์ฐ์ฐ์ ๊ฐ์ง๊ณ ์๋ค. - List๊ตฌ์กฐ๋ ArrayDeque๊ตฌ์กฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค. Queue queue = new LinkedList(); // Queue์ธํฐํ์ด์ค ๊ธฐ๋ฐ LinkedList • ์ํ - normal : ํ๊ฐ ์ฝ์ /์ญ์ ๊ฐ ๊ฐ๋ฅํ ์ํ - overflow : ํ๊ฐ ์ฝ์ ์ด ๋ถ๊ฐํ full ์ํ - underflow : ํ๊ฐ ์ญ์ ๊ฐ ๋ถ๊ฐํ empty ์ํ • ๋ฉ์๋ ์์ธ๋ฐ์ : ์์ธ ๋ฐ์ - add() : ์ถ๊ฐ - remove() : ์ญ์ - element() : ๋ค์์ ์ญ์ ๋ ๊ฐ ํ์ธ ์์ธ ๋ฏธ๋ฐ์ : ์์ธ ๋ฏธ๋ฐ์ - offer() : ์ถ๊ฐ - poll().. 2022. 12. 23. [D+65] ์๋ฐํ๋ก๊ทธ๋๋ฐ8 (Set<E> ์ธํฐํ์ด์ค, ํด์ฌ, TreeSet<E> ์ธํฐํ์ด์ค) ๊ตญ๋น์ง์ D+65 - ์๋ฐํ๋ก๊ทธ๋๋ฐ8 - Set ์ธํฐํ์ด์ค - ์ํ์ ์งํฉ์ ํน์ง์ ๊ฐ์ง๊ณ ์๋ค. - ์์๊ฐ ์๋ค. (์์์ ๋ฌด์์) - ์ค๋ณต์ด ์๋ค. (์์์ ์ ์ผ์ฑ) • ๋์ผ๋ฐ์ดํฐ์ ํ๋จ set์ธํฐํ์ด์ค๋ ์ค๋ณต์ด ์๋ ์ ์ผ์ฑ์ด๋ผ๋ ํน์ง์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ equals()์ hashCode()๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉ์ ํตํด์ ํต์ผ๋ฐ์ดํฐ๋ฅผ ํ๋จํ๋ค. ์ฆ, ๋จผ์ ๋ฐ์ดํฐ์๋ํ hashCode๋ฅผ ๊ตฌํ๋ค์ equals๋ก ํด์ฌ๊ฐ์ ๋น๊ตํด ๋์ผ๋ฐ์ดํฐ๋ฅผ ํ๋จํ๋ค. • hashCode์ ๋ฑ์ฅ๋ฐฐ๊ฒฝ set์ธํฐํ์ด์ค๋ ์ ์ผ์ฑ์ ๋ง์กฑํด์ผํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ ๊ฒฝ์ฐ ๋ง์ฝ n๋ฒ์งธ์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ๋ n-1๋ฒ ๋ฐ์ดํฐ๋ฅผ ๋น๊ตํด์ผ ํ๋ค. ์ ์ ์์ ๋ฐ์ดํฐ๊ฒฝ์ฐ ํฐ ๋ฌธ์ ๊ฐ ๋์ง๋ ์์ง๋ง ์๋ง์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ ์์ ๊ฒฝ์ฐ์ ์ค๋ฒํค๋๊ฐ ๋ฐ์๋ .. 2022. 12. 22. [D+64] ์๋ฐํ๋ก๊ทธ๋๋ฐ8 (์ปฌ๋ ์ ํ๋ ์์ํฌ์ ๊ฐ๋ , List<E> ์ธํฐํ์ด์ค, ๋ฐ๋ณต์, ์ปฌ๋ ์ ๋ณํ) ๊ตญ๋น์ง์ D+64 - ์๋ฐํ๋ก๊ทธ๋๋ฐ8 - ์ปฌ๋ ์ ํ๋ ์์ํฌ์ ๊ฐ๋ - ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ ์ปฌ๋ ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ๊ธฐ ์ํ ํด๋์ค ๋ฐ ์ธํฐํ์ด์ค์ ์งํฉ์ด๋ค. - ํ์ฅ์ฑ๊ณผ ์ ์ฐ์ฑ์ด ๋๊ฒํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์งํฉ์ด๋ค. - ํ๋ ์์ํฌ๋ผ๊ณ ํํํ๋ ์ฌ์ค์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐฉ์์ผ๋ก ๋์ํ๋ค. • ์ปฌ๋ ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฒ์ฉ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์๋ฏธํ๋ค. List ์ธํฐํ์ด์ค - ์์๊ฐ ์๋ ๋ฐ์ดํฐ์ ์งํฉ์ด๋ค. - ์ค๋ณต์ด ํ์ฉ๋๋ค. • ArrayList - ๋ฐฐ์ด๊ธฐ๋ฐ์ ์๋ฃ๊ตฌ์กฐ ์ด๋ค. - ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ์์ด ์ ์ง๋๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๊ธฐ ์ข๋ค. ์ฅ์ 1. ์ง๊ด์ ์ผ๋ก ์ดํดํ๊ธฐ๊ฐ ์ฝ๋ค. 2. ๋ฐ์ดํฐ์ ์ฝ๋ ์๋๊ฐ ๋น ๋ฅด๋ค. ๋จ์ 1. ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋์์ ๋(์ถ๊ฐ, ์ญ์ ) ์๋๊ฐ ๋๋ ค์ง๋ค. (์ค๋ฒํค๋๊ฐ ํฌ๋ค) ์ถ๊ฐ : ๋ฐ์ดํฐ๋ฅผ ์๋ก ํ ๋น .. 2022. 12. 21. ์ด์ 1 2 3 4 5 6 ยทยทยท 14 ๋ค์