์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- AndroidStudio
- Python
- ๊ธฐ์ด100์
- ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ
- di
- tcp
- OpenAPI
- FACTORY
- ํ๋ IT&E
- url
- 2024-08-20
- swagger
- uri
- OOP
- ์ฑ์ฉํ์ ํ
- Android Studio
- IOC
- menutab
- datepicker
- http method
- reflection
- ์ฝ๋์
- fontstyle
- udp
- Dialog
- Factory Method Pattern
- Kotlin
- URN
- 2024-08-21
- ์ด๋ ธํ ์ด์
๋ชฉ๋ก๐ฐJAVA (13)
dingdong coding
Reflection์ ๊ฐ๋ ์ ์ดํดํ๋ ๋ชฉ์ ์ผ๋ก ํฌ์คํ ์ ์์ฑํ๊ฒ ๋์๋ค. Reflection : ๊ตฌ์ฒด์ ์ธ ํด๋์ค ํ์ ์ ์์ง ๋ชปํด๋, ๊ทธ ํด๋์ค์ ๋ฉ์๋, ํ์ , ๋ณ์๋ค์ ์ ๊ทผํ ์ ์๋๋ก ํด์ฃผ๋ Java API : ์ปดํ์ผ ์๊ฐ์ด ์๋ ์คํ ์๊ฐ์ ๋์ ์ผ๋ก ํน์ ํด๋์ค ์ ๋ณด๋ฅผ ์ถ์ถํ ์ ์๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ Framework, IDE์์ ๋์ ๋ฐ์ธ๋ฉ ๊ธฐ๋ฅ ์ ๊ณต(ํ๋ก๊ทธ๋จ ์คํ ์ค ๋์ ์ผ๋ก ํด๋์ค ์ ๋ณด ๊ฐ์ ธ์์ ์ฌ์ฉ) ex) IntelliJ ์๋์์ฑ, Spring Framework Annotation ๋ฑ ์ฝ๋๋ฅผ ์์ฑํ ๋ ์ด๋ค ํ์ ์ ํด๋์ค๋ฅผ ์ฌ์ฉํ ์ง ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋ด ๋ ๋ฆฌํ๋ ์ ์ ์ฌ์ฉํ๊ณ ์ฝ๋๋ฅผ ์์ฑํด ๋ฐํ์์ ํ์ฌ ์คํ๋๊ณ ์๋ ํด๋์ค๋ฅผ ๊ฐ์ ธ์์ ์คํํด์ผ ๋๋ ๊ฒ์ด๋ค. ์ฆ, ๋ฆฌํ๋ ์ ์ ๊ฐ์ฒด๋ฅผ ํต..
ํ์์ฑ ๋จผ์ Strategy Pattern์ ์ ์ฌ์ฉํด์ผํ๋์ง์ ๋ํด ์๋ฅผ ๋ค์ด ์์๋ณด๊ฒ ์ต๋๋ค. ๋ก๋ด(Robot) ์ค๊ณ๋์ ๋ฐ๋ผ ์ํฐ(Atom)๊ณผ ํ๊ถ๋ธ์ด(TaekwonV)๋ฅผ ๋ง๋ค์์ต๋๋ค. ํ๊ถ๋ธ์ด์ ์ํฐ์ ๊ณตํต์ ์ผ๋ก ๊ณต๊ฒฉ๊ณผ ์ด๋ ๊ธฐ๋ฅ์ด ์์ง๋ง ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ก๋ด ํด๋์ค์์ attack์ move๋ฉ์๋๋ฅผ ์ถ์๋ฉ์๋๋ก ์ค์ ํด ์์ ํด๋์ค์์ ์ ์ํ๋๋ก ํ์ต๋๋ค. ๊ณต๊ฒฉ ์ด๋ ํ๊ถ๋ธ์ด ๋ฏธ์ฌ์ผ ๊ณต๊ฒฉ ๊ฑท๊ธฐ ์ํฐ ์ฃผ๋จน ๊ณต๊ฒฉ ํ๋ ๋ ์๋ค๋๊ธฐ ๊ทธ๋ฌ๋ค ํ๋๋ก ๋ ์๋ค๋๋ ์ํฐ์ด ๊ฐ์๊ธฐ ๊ฑท๊ธฐ๋ง ๊ฐ๋ฅํ๋ค๊ณ ํฉ๋๋ค. ์ํฐ์ move() ๋ฉ์๋๋ฅผ ์์ ํด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ฌ๊ธฐ์ ๋ฌธ์ ์ ์ด ๋ฐ์ํฉ๋๋ค. ์ง์ move( )๋ฉ์๋๋ฅผ ์์ ํ๋ ์์ ์ OCP (Open/Close Principle)์ ์๋ฐฐ๋๋ ์์ ๋๋ค. ..
ํ์์ฑ ๋จผ์ Factory Method Pattern ํจํด์ ์ ์ฌ์ฉํด์ผํ๋์ง์ ๋ํด ์์๋ด ์๋ค. ํ๋ก๊ทธ๋จ์ด ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ์ํฉ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ๋ํ ๊ธฐ๋ฅ์ ๊ตฌํ์ ๊ฐ๋ณ ํด๋์ค๋ฅผ ํตํด ์ ๊ณตํ๋ ๊ฒ์ด ๋ฐ๋์งํฉ๋๋ค. ๋๋ฌธ์ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝ์ด๋ ์ํฉ์ ๋ฐ๋ฅธ ๊ธฐ๋ฅ ์ ํ์ ํด๋น ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์ฝ๋์ ๋ณ๊ฒฝ์ ์ด๋ํฉ๋๋ค. ๋ํ ์ ์ ํ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์ฝ๋๋ ์์ฃผ ์ค๋ณต๋ ์๋ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์ฝ๋๋ฅผ ์ถ์ํํด ํ ๊ณณ์์ ๊ด๋ฆฌํ์ง ์์ผ๋ฉด ๋ณํ๊ฐ ๋ฐ์ ํ์ ์ ํด๋น ํด๋ผ์ด์ธํธ์ ์ฝ๋๋ฅผ ์ ๋ถ ์์ ํด์ฃผ์ด์ผํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด๋ด๋ ๊ณต์ฅ์ด ํ์ํ ๊น์? Factory Pattern Factory์ ๋ป์ ๊ณต์ฅ์ผ๋ก ์ฌ๊ธฐ์๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด๋ด๋ ๊ณต์ฅ(๋ชจ๋)์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ..
GC ( Garbage Collection ) GC๋ Heap ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌํ์ฉํ๊ธฐ ์ํด Root Set์์ ์ฐธ์กฐ๋์ง ์๋ ๊ฐ์ฒด๋ค์ ํด์ ํด ๊ฐ์ฉ๊ฐ๋ฅํ ๊ณต๊ฐ์ ๋ง๋๋ ์์ ์ ๋๋ค. * ์ฐธ์กฐ๋ ๊ฐ์ฒด : ํ๋ก๊ทธ๋จ์ ์ผ๋ถ๊ฐ ์ฌ์ ํ ํด๋น ๊ฐ์ฒด์ ๋ํ ํฌ์ธํฐ๋ฅผ ์ ์งํ๊ณ ์์์ ์๋ฏธ * ์ฐธ์กฐ๋์ง ์์ ๊ฐ์ฒด : ํ๋ก๊ทธ๋จ์ ์ด๋ค ๋ถ๋ถ์์๋ ๋ ์ด์ ์ฐธ์กฐ๋์ง ์์ ๋ฐ๋ผ์ ํด๋น ๊ฐ์ฒด๊ฐ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ ์๋ฐ์์๋ ์ด๋ฌํ ๋ฉ๋ชจ๋ฆฌ ํด์ ์์ ์ Garbage Colletor๊ฐ ๋ด๋นํ๋ฉฐ, ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ๋ ์์ ์ Garbage Collection์ด๋ผ ํฉ๋๋ค. ์ฆ null, System.gc() ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๋ฑ๊ณผ ๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ช ์์ ์ผ๋ก ์ง์ ํด ํด์ ํ๋ ์์ ์ ํ์ง ์์๋ ๋๋ค. null๋ก ์ง์ ํ๋ ๊ฒ์ ํฐ ๋ฌธ์ ๊ฐ ๋์ง ์์ง๋ง..
SET INTERFACE • ์ ์ฅ ์์๊ฐ ์๋ ๋ฐ์ดํฐ์ ์งํฉ์ผ๋ก, ๋ฐ์ดํฐ์ ์ค๋ณต์ ํ์ฉํ์ง ์์ต๋๋ค. ex) HashSet, LinkedHashSet( Hash Set์ ํ์ ํด๋์ค ), TreeSet 1. HashSet • Hash๊ธฐ๋ฅ๊ณผ Set ์ปฌ๋ ์ ์ด ํฉ์ณ์ง ๊ฒ์ ๋๋ค. • Hash Algorithm ์ ์ํด ๋ฐ์ดํฐ์ ์์น๋ฅผ ํน์ ์์ผ ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๊ฒ์ํ ์ ์๊ฒ ๋ง๋ ๊ฒ์ ๋๋ค. • ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ Set ์ปฌ๋ ์ ์ ํด๋์ค๋ก ์ ๋ ฅ์์์ ์๊ด์์ด ์ ์ฅ๋์ด ์ ๋ ฌํด์ฃผ์ง ์๊ณ ์ค๋ณต๋ ๊ฐ์ ์ ์ฅํ์ง ์์ต๋๋ค. • ๋ง์ฝ ์์์ ์ ์ฅ์์๋ฅผ ์ ์งํด์ผ ํ๋ค๋ฉด LinkedHashSet ํด๋์ค๋ฅผ ์ฌ์ฉํด์ผํฉ๋๋ค. • Null ์์๋ ํ์ฉํฉ๋๋ค. Hash Algorithm : ํด์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํด์ ํ ์ด๋ธ์ ..
ํ์์ฑ ๋จผ์ Singleton ํจํด์ ์ ์ฌ์ฉํด์ผํ๋์ง์ ๋ํด ์์๋ด ์๋ค. ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ํ ๋ช ์ ์ ์ ๊ฐ ์๋ ์ฌ๋ฌ ์ ์ ๊ฐ ์ด์ฉํ๋ฉฐ ๊ฐ์ ์๋น์ค๋ฅผ ๋์ ๋ค๋ฐ์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ์ฑ๊ธํค ํจํด์ ์ ์ฉํ์ง ์์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ด๋ผ๋ฉด ์์ฒญ์ ๋ฐ์ ๋ ๋ง๋ค ์์ฒญ ๋ฐ์ ์๋น์ค์ ๋ํ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์๋ฉธ์ํค๋ ๊ณผ์ ์ ๋ฌด์ํ ๋ฐ๋ณตํ ๊ฒ์ ๋๋ค. ์ด ๊ณผ์ ์์ ์ฌํ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ๋ฐ์ํ๊ฒ ๋๋ฉฐ ์ด์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ์ฑ๊ธํค ํจํด์ ์ฌ์ฉํฉ๋๋ค. Singleton Pattern • ๊ฐ์ฒด(์ธ์คํด์ค)๊ฐ ์ค์ง 1๊ฐ๋ง ์กด์ฌํด์ผํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํฉ๋๋ค. • ๊ฐ์ฒด๊ฐ ํ์ฌ JVM์์ ํ๋๋ง ์์ด์ผํ๋ ํจํด • private ์์ฑ์ ์ธ๋ถ์์ new ํค์๋๋ฅผ ์ฌ์ฉํด ๊ฐ์ฒด๋ฅผ 2๊ฐ ์ด์ ์์ฑํ์ง ๋ชปํ๋๋ก ๋ง์ต๋๋ค. ..
๋ฆฌ์คํธ์ ์์ ๊ฐ๋ ์ธ Collection์ ๋ํด ๋จผ์ ๋ณด๊ณ ์ค๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. [JAVA ] Collection Collection Framework ? • ๊ฐ์ฒด์ ๊ทธ๋ฃน • ์๋ฐ์ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํฉ๋๋ค. • Collection ์ธํฐํ์ด์ค๋ List, Set, Queue ์ธํฐํ์ด์ค๊ฐ ํ์ฅ๋๋ ๋ฃจํธ ์ธํฐํ์ด์ค • Java์์๋ ๋ชจ๋ Collecti.. dodokwon.tistory.com LIST INTERFACE • ์ ์ฅ ์์๊ฐ ์๋(์ ์ง๋๋) ๋ฐ์ดํฐ์ ์งํฉ์ผ๋ก ๋ฐ์ดํฐ์ ์ค๋ณต์ ํ์ฉํฉ๋๋ค. ex) Vector, ArrayList, LinkedList, Stack, Queue 1. ArrayList • ๋ด๋ถ์ ์ผ๋ก Array๋ฅผ ์ด์ฉํ์ฌ ์์๋ฅผ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ Index๋ฅผ ์ด์ฉํด ์์์ ๋น ๋ฅธ ์ ..
Collection Framework ? • ๊ฐ์ฒด์ ๊ทธ๋ฃน • ์๋ฐ์ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํฉ๋๋ค. • Collection ์ธํฐํ์ด์ค๋ List, Set, Queue ์ธํฐํ์ด์ค๊ฐ ํ์ฅ๋๋ ๋ฃจํธ ์ธํฐํ์ด์ค • Java์์๋ ๋ชจ๋ Collection ํด๋์ค์ ์ธํฐํ์ด์ค๋ฅผ ํฌํจํ๋ ์งํฉ์ธ "Collection Framework"๋ผ๋ ๊ฐ๋ ์ด ์ ์ • ์ปฌ๋ ์ ํ๋ ์์ํฌ์๋ ์ปฌ๋ ์ ์ ๋ํ๋ด๊ณ ์กฐ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํด๋์ค ๋ฐ ์ธํฐํ์ด์ค ์งํฉ์ด ํฌํจ๋์ด ์์ต๋๋ค. Java์์ ์ปฌ๋ ์ ํ๋ ์์ํฌ๋ ๋ค์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ ํ์คํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ ํด๋์ค์ ์งํฉ์ ์๋ฏธํฉ๋๋ค. ์ฆ, ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์กฐํํ์ฌ ํด๋์ค๋ก ๊ตฌํํด ๋์ ๊ฒ ์ปฌ๋ ์ ์ธํฐํ์ด์ค 1) ..
Optional ์ด๋? ๊ฐ๋ฐ์ ํ ๋ ๊ฐ์ฅ ๋ง์ด ๋ฐ์ํ๋ ์์ธ ์ค ํ๋๋ ๋ฐ๋ก NullPointerException ์ ๋๋ค. NullPointerException ์ ํผํ๊ณ null ์ฒดํฌํ๋ ๋ก์ง์ ์ค์ด๊ธฐ ์ํด ๋น ๊ฐ์ผ ๋ null ๋์ ์ด๊ธฐ๊ฐ์ ์ฌ์ฉํ๊ธธ ๊ถ์ฅํ๊ณค ํฉ๋๋ค. List names = getNames(); names.sort(); // names ๊ฐ null ์ด๋ผ๋ฉด NullPointerException ์ด ์ผ์ด๋๋ค. ์๋ฐ 8์์๋ Optional ํด๋์ค๋ฅผ ์ด์ฉํด์ NullPointerException ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. ์ฆ, ๋ณต์กํ ์กฐ๊ฑด๋ฌธ ์์ด๋ ๋(null) ๊ฐ์ผ๋ก ์ธํด ๋ฐ์ํ๋ ์์ธ๋ฅผ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋ฉ๋๋ค. public final class Optional { // If non-nu..
Spring Boot๋ก ๊ฐ๋ฐํ๋ ์ค ์์ฃผ์ฌ์ฉํ๊ฒ ๋๋ ๋๋ค์ ๋ํด ํ ๋ฒ ํ์ตํ๊ณ ๋์ด๊ฐ๊ณ ์ ์ ๋ฆฌํ๊ฒ ๋์๋ค. Lambda? Anonymous function ์ฆ, ์ด๋ฆ์ด ์๋ ์ต๋ช ํจ์๋ฅผ ๋ปํฉ๋๋ค. ๋ณดํต ๋ฉ์๋๊ฐ ์๋ ํจ์๋ก ์ข ์์ ์ด์ง ์๋ค๋ ํน์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค. 1. ๋๋ค์ ์ด์ for (int i = 0; i System.out.println(value)); ์ด๋ ๋ฏ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ธ ์ต๋ช ํจ์๋ ์ผ๊ธ๊ฐ์ฒด(first-class-citizen)๋ผ๋ ํน์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค. first-class-citizen ๋ณ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์์ ํจ์..