λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

전체 κΈ€601

[D+64] μžλ°”ν”„λ‘œκ·Έλž˜λ°8 (μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬μ˜ κ°œλ…, List<E> μΈν„°νŽ˜μ΄μŠ€, 반볡자, μ»¬λ ‰μ…˜ λ³€ν™˜) ꡭ비지원 D+64 - μžλ°”ν”„λ‘œκ·Έλž˜λ°8 - μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬μ˜ κ°œλ… - μž¬μ‚¬μš©μ΄ κ°€λŠ₯ν•œ μ»¬λ ‰μ…˜ 데이터 ꡬ쑰λ₯Ό κ΅¬ν˜„ν•˜κΈ° μœ„ν•œ 클래슀 및 μΈν„°νŽ˜μ΄μŠ€μ˜ 집합이닀. - ν™•μž₯μ„±κ³Ό μœ μ—°μ„±μ΄ λ†’κ²Œν•˜λŠ” 라이브러리 집합이닀. - ν”„λ ˆμž„μ›Œν¬λΌκ³  ν‘œν˜„ν•˜λ‚˜ 사싀상 라이브러리 λ°©μ‹μœΌλ‘œ λ™μž‘ν•œλ‹€. • μ»¬λ ‰μ…˜ 데이터 ꡬ쑰 λ²”μš©μ μœΌλ‘œ μ‚¬μš©ν•˜λŠ” 데이터 ꡬ쑰λ₯Ό μ˜λ―Έν•œλ‹€. List μΈν„°νŽ˜μ΄μŠ€ - μˆœμ„œκ°€ μžˆλŠ” λ°μ΄ν„°μ˜ 집합이닀. - 쀑볡이 ν—ˆμš©λœλ‹€. • ArrayList - λ°°μ—΄κΈ°λ°˜μ˜ 자료ꡬ쑰 이닀. - 데이터가 변경없이 μœ μ§€λ˜λŠ” κ²½μš°μ— μ‚¬μš©ν•˜κΈ° μ’‹λ‹€. μž₯점 1. μ§κ΄€μ μœΌλ‘œ μ΄ν•΄ν•˜κΈ°κ°€ 쉽닀. 2. λ°μ΄ν„°μ˜ μ½λŠ” 속도가 λΉ λ₯΄λ‹€. 단점 1. 데이터가 λ³€κ²½λ˜μ—ˆμ„ λ•Œ(μΆ”κ°€, μ‚­μ œ) 속도가 λŠλ €μ§„λ‹€. (μ˜€λ²„ν—€λ“œκ°€ 크닀) μΆ”κ°€ : 데이터λ₯Ό μƒˆλ‘œ ν• λ‹Ή .. 2022. 12. 21.
[D+63] μžλ°”ν”„λ‘œκ·Έλž˜λ°7 (μ™€μΌλ“œ μΉ΄λ“œ) ꡭ비지원 D+63 - μžλ°”ν”„λ‘œκ·Έλž˜λ°7 - μ™€μΌλ“œμΉ΄λ“œ κ°œλ… - μ™€μΌλ“œ μΉ΄λ“œλŠ” μ œλ„€λ¦­ νƒ€μž…μ˜ μ•ˆμ „μ„±μ„ ν™•λ³΄ν•˜κΈ° μœ„ν•œ type argument이닀. - μ™€μΌλ“œμΉ΄λ“œλŠ” μ œλ„€λ¦­κ³Ό μ™„μ „νžˆ 같은 λ©”μ»€λ‹ˆμ¦˜μ„ 가진닀. - μ™€μΌλ“œμΉ΄λ“œλ₯Ό 톡해 μ œλ„€λ¦­μ˜ μ‚¬μš©μ„ μ œν•œν•¨μœΌλ‘œ μ•ˆμ „ν•œ μ œλ„€λ¦­ μ‚¬μš©μ„ κ΅¬ν˜„ν•œλ‹€. - μ™€μΌλ“œ μΉ΄λ“œλ₯Ό μ‚¬μš©ν•΄μ„œ 객체의 μƒν•œκ³Ό ν•˜ν•œμ„ μ œν•œν•  수 μžˆλŠ”λ° μ™€μΌλ“œμΉ΄λ“œλ₯Ό μ‚¬μš©ν•˜λŠ” λͺ©μ μ€ 견고성과 간건성이닀. T(μ œλ„€λ¦­) → μ–΄λ–€ λ°μ΄ν„°νƒ€μž…λ„ λ‹€ 올 수 μžˆλ‹€. ?(μ™€μΌλ“œμΉ΄λ“œ) → 무슨 데이터 νƒ€μž…μ΄ 올 지 λͺ¨λ₯Έλ‹€ + μ œμ•½μ‘°κ±΄ • μ™€μΌλ“œμΉ΄λ“œμ˜ μƒν•œ μ œν•œ (Upper-Bounded Wildcard) - Box 2022. 12. 20.
[D+62] μžλ°”ν”„λ‘œκ·Έλž˜λ°7 (νƒ€μž…μ˜ μ œν•œ, μ œλ„€λ¦­ λ©”μ†Œλ“œ, μ œλ„€λ¦­ 클래슀의 상속, 타켓 νƒ€μž…) ꡭ비지원 D+62 - μžλ°”ν”„λ‘œκ·Έλž˜λ°7 - νƒ€μž…μ˜ μ œν•œ μ œλ„€λ¦­ νƒ€μž…μ— μ œν•œμ„ κ±Έμ–΄μ•Όν•˜λŠ” μ΄μœ λŠ” ν•œμ •λœ νƒ€μž…μ„ 지정해 λ†“μœΌλ©΄ ν•œμ •λœ νƒ€μž…μ— λŒ€ν•œ κ³΅ν†΅λœ λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€. → 기계적 이유 ) νƒ€μž…μ— μ œν•œμ„ 걸어두지 μ•ŠμœΌλ©΄ μ•„λ¬΄κ±°λ‚˜ 올수 있으며, μ΄λŠ” νŠΉμ • λ©”μ†Œλ“œλ₯Ό 뢈러올 수 μ—†λ‹€. → 논리적 이유 ) νƒ€μž…μ— μ œν•œμ„ κ±Έμ–΄λ‘μ—ˆμ„ μ‹œμ— 논리적 κ°€μ΄λ“œλΌμΈμ„ μ œκ³΅ν•˜λ©° μ΄λŠ” λ¦¬λ”λΉŒλ¦¬ν‹°κ°€ μƒμŠΉν•œλ‹€. : νƒ€μž… 어떀것이든 올 수 μžˆμ–΄ : Numberνƒ€μž…μ—μ„œ νŒŒμƒλœ 클래슀만 올 수 μžˆμ–΄ (Integer, Double) • 클래슀λ₯Ό μ΄μš©ν•œ νƒ€μž…μ˜ μ œν•œ - class Box { ... } - μΈμŠ€ν„΄μŠ€ μƒμ„±μ‹œμ— νƒ€μž…μΈμžλ‘œ Number λ˜λŠ” 이λ₯Ό μƒμ†ν•˜λŠ” 클래슀만 올 수 μžˆλ‹€. class Box { private T obj;.. 2022. 12. 18.
[D+61] ν™”λ©΄κ΅¬ν˜„ ꡭ비지원 D+61 - ν™”λ©΄ κ΅¬ν˜„ - UI섀계 λ‚΄μš© 확인 • UI (User Interface) - CLI (λͺ…λ Ήμ–΄ 라인 μΈν„°νŽ˜μ΄μŠ€, Command Line Interface) : μ‚¬μš©μžμ™€ μ‹œμŠ€ν…œμ΄ μƒν˜Έ μž‘μš©μ„ ν•˜λŠ” λ°©μ‹μœΌλ‘œ λͺ…λ Ήκ³Ό 좜λ ₯이 데슀트 ν˜•νƒœλ‘œ ν‘œν˜„λœλ‹€. - GUI (κ·Έλž˜ν”½ μœ μ € μΈν„°νŽ˜μ΄μŠ€, Graphical User Interface) : μ‚¬μš©μžκ°€ μ»΄ν“¨ν„°μ˜ μžμ›μ„ μ‚¬μš©ν•  수 μžˆλ„λ‘ κ΅¬μ„±μš”μ†Œλ“€μ΄ κ·Έλž˜ν”½ ν˜•νƒœλ‘œ ν‘œν˜„λœλ‹€. - NUI (μžμ—°μ–΄ μœ μ € μΈν„°νŽ˜μ΄μŠ€, Natural User Interface) : λͺΈμ§“, λ§μ†Œλ¦¬λ§ŒμœΌλ‘œλ„ ITκΈ°κΈ°λ₯Ό μ‚¬μš©ν•  수 μžˆλŠ” μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€μ΄λ‹€. • UI ν‘œμ€€ 및 지침 - UIν‘œμ€€μ€ μ‹œμŠ€ν…œ μ „λ°˜μ— 걸쳐 λͺ¨λ“  UI에 κ³΅ν†΅μ μœΌλ‘œ μ μš©λ˜λŠ” λ‚΄μš©μ„ μ˜λ―Έν•˜λ©°, ν™”λ©΄ ꡬ성 λ‚΄μš©μ΄λ‚˜.. 2022. 12. 16.
[D+60] μžλ°”ν”„λ‘œκ·Έλž˜λ°7 (μ œλ„€λ¦­ ν”„λ‘œκ·Έλž˜λ°μ˜ κ°œλ…, μ œλ„€λ¦­ κΈ°λ³Έ 문법) ꡭ비지원 D+60 - μžλ°”ν”„λ‘œκ·Έλž˜λ°7 - μ œλ„€λ¦­ ν”„λ‘œκ·Έλž˜λ°μ˜ κ°œλ… • μ œλ„€λ¦­ ν”„λ‘œκ·Έλž˜λ°(Generic Programming)μ΄λž€? - μžλ£Œν˜•μ΄λ‚˜ μ•Œκ³ λ¦¬μ¦˜μ„ μ΄μš©ν•˜μ—¬ μž¬ν™œμš©μ„±κ³Ό μœ μ—°μ„±μ„ κ·ΉλŒ€ν™”ν•˜κΈ° μœ„ν•œ ν”„λ‘œκ·Έλž˜λ° 기법이닀. μž¬ν™œμš©μ„± : λ°•μŠ€λ₯Ό ν•˜λ‚˜λ§Œ λ§Œλ“€λ©΄ 각각의 λ°•μŠ€λ₯Ό κ΅¬ν˜„λ‚΄λ‚Ό 수 μžˆλ‹€. μœ μ—°μ„± : 외뢀변화에 λŒ€ν•΄ λŒ€μ‘μ„ 잘 ν•˜λŠ” 것이닀. - 비객체지ν–₯적인 μ„±ν–₯을 가지며 객체지ν–₯μ μ΄λ‚˜ ꡬ쑰적 ν”„λ‘œκ·Έλž˜λ°μ΄λΌλŠ” νŒ¨λŸ¬λ‹€μž„μ„ λ²—μ–΄λ‚˜ "λ‹¨μˆœν•˜κ³  λΉ λ₯΄κ²Œ κ΅¬ν˜„" ν•˜κ²Œλ” ν•˜λŠ” 것이 λͺ©ν‘œμ΄λ‹€. - μΌλ°˜ν™” ν”„λ‘œκ·Έλž˜λ°μ΄λΌκ³ λ„ ν•œλ‹€. (Objectκ°€ 무엇이냐에 λ”°λΌμ„œ Classλ₯Ό λ§Œλ“€μ–΄λ‚΄κ² λ‹€) - 객체λ₯Ό λ§Œλ“€μ–΄λ‚΄λŠ” μ‹œμ μ— 클래슀λ₯Ό λ§Œλ“œλŠ” νŠΉμ§•μ„ 가지고 μžˆλ‹€. • μ œλ„€λ¦­ ν”„λ‘œκ·Έλž˜λ° 이전 λ§Œμ•½ λ‚΄κ°€ λ°•μŠ€ 객체 μ•ˆμ— 과일을 λ„£μ–΄μ„œ.. 2022. 12. 15.
[D+60] μžλ°”ν”„λ‘œκ·Έλž˜λ°6 (Object 클래슀, Wrapper 클래슀, Arrays 클래슀) ꡭ비지원 D+60 - μžλ°”ν”„λ‘œκ·Έλž˜λ°6 - Object 클래슀 • κ°œλ… - JAVA의 λͺ¨λ“  클래슀의 λΆ€λͺ¨ ν΄λž˜μŠ€μ΄λ‹€. - κΈ°λ³Έμ μ΄λ©΄μ„œ ν•„μˆ˜μ μΈ κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€. • μ£Όμš”κΈ°λŠ₯ - finalize : μΈμŠ€ν„΄μŠ€μ˜ μ†Œλ©Έμž - equals : μΈμŠ€ν„΄μŠ€μ˜ 비ꡐ - clone : μΈμŠ€ν„΄μŠ€μ˜ 볡제 Wrapper 클래슀 • κ°œλ… - wrapper의 감싸닀(wrap)λΌλŠ” λœ»μ—μ„œ μ•Œ 수 μžˆλ“―μ΄ κΈ°λ³Έμžλ£Œν˜•(ν”„λ¦¬λ―Έν‹°λΈŒνƒ€μž…)을 κ°μ‹Έμ„œ μ΄μš©ν•  수 있게 ν•œ ν΄λž˜μŠ€μ΄λ‹€. - intλ‚˜ doubleν˜•μ„ κ°μ²΄ν™”ν•˜μ—¬ νž™μ— λ„£λŠ”λ‹€. • μ’…λ₯˜ - Boolean - Short - Integer - Byte - Float - Double • 원리 - Boxing : ν”„λ¦¬λ―Έν‹°λΈŒνƒ€μž…μ„ 객체화 ν•˜λŠ” 것을 Boxing이라고 ν•œλ‹€. - UnBoxing : B.. 2022. 12. 15.